JavaTM Platform
Standard Ed. 6

javax.imageio.spi
클래스 ImageWriterSpi

java.lang.Object 
  상위를 확장 javax.imageio.spi.IIOServiceProvider 
      상위를 확장 javax.imageio.spi.ImageReaderWriterSpi 
          상위를 확장 javax.imageio.spi.ImageWriterSpi
모든 구현된 인터페이스:
RegisterableService


public abstract class ImageWriterSpi
extends ImageReaderWriterSpi

ImageWriter 의 서비스 프로바이더 인터페이스 (SPI)입니다. 서비스 프로바이더 클래스의 자세한 것은,IIORegistry 클래스의 클래스 코멘트를 참조해 주세요.

각 ImageWriterSpi 는, 관련하는 ImageWriter 클래스에 관한 복수의 정보 타입을 제공합니다.

SPI 클래스를 정의하는 벤더명으로 클래스의 간결한 설명은,getVendorName,getDescription, 및 getVersion 메소드로 취득할 수 있습니다. 이러한 메소드는, 국제화 해 로케일 고유의 출력을 실시하는 것이 가능합니다. 이러한 메소드의 주된 목적은, pop-up menu나 다른 리스트를 편성하는데 사용 가능해, 간결하고 사람이 기입해 가능한 정보를 제공하는 것입니다.

서비스에 관련한 형식명, 파일접미사(suffix), 및 MIME 타입의 리스트는, 각각 getFormatNames,getFileSuffixes, 및 getMIMETypes 메소드로 취득할 수 있습니다. 이러한 메소드는, 수동의 형식 선택, 파일의 명명, 또는 MIME 관련지어에 근거해, 특정의 파일 또는 스트림에 기입하기 위한 후보가 되는 ImageWriter 의 식별로 사용할 수가 있습니다.

특정의 데이터 스트림을 구문 분석 할 수 있을 가능성의 높은 ImageWriter 를 판정하기 위한 , 보다 신뢰성의 높은 수단이 canEncodeImage 메소드에 준비되어 있습니다. 서비스 프로바이더는, 이 메소드를 사용해 실제의 이미지 내용을 검증할 수 있습니다.

이 서비스 프로바이더에 관련하는 ImageWriter 클래스의 인스턴스는,createWriterInstance 메소드를 호출하는 것으로 취득할 수 있습니다. 네이티브 라이브러리의 로드나 대규모 테이블 작성등의 부하의 높은 초기화는, 적어도 이 메소드가 최초로 불려 갈 때까지 연기할 필요가 있습니다.

관련 항목:
IIORegistry , ImageTypeSpecifier , ImageWriter

필드의 개요
protected  Class [] outputTypes
          getOutputTypes 로부터 반환되는 Class 객체의 배열로, 처음은 null 입니다.
protected  String [] readerSpiNames
          getImageReaderSpiNames 로부터 반환되는 캐릭터 라인의 배열로, 처음은 null 입니다.
static Class [] STANDARD_OUTPUT_TYPE
          getInputTypes 로부터 반환되는 단일 요소의 배열로, 처음은 ImageInputStream.class 가 포함되고 있습니다.
 
클래스 javax.imageio.spi. ImageReaderWriterSpi 로부터 상속된 필드
extraImageMetadataFormatClassNames , extraImageMetadataFormatNames , extraStreamMetadataFormatClassNames , extraStreamMetadataFormatNames , MIMETypes , names , nativeImageMetadataFormatClassName , nativeImageMetadataFormatName , nativeStreamMetadataFormatClassName , nativeStreamMetadataFormatName , pluginClassName , suffixes , supportsStandardImageMetadataFormat , supportsStandardStreamMetadataFormat
 
클래스 javax.imageio.spi. IIOServiceProvider 로부터 상속된 필드
vendorName , version
 
생성자 의 개요
protected ImageWriterSpi ()
          공백의 ImageWriterSpi 를 구축합니다.
  ImageWriterSpi (String  vendorName, String  version, String [] names, String [] suffixes, String [] MIMETypes, String  writerClassName, Class [] outputTypes, String [] readerSpiNames, boolean supportsStandardStreamMetadataFormat, String  nativeStreamMetadataFormatName, String  nativeStreamMetadataFormatClassName, String [] extraStreamMetadataFormatNames, String [] extraStreamMetadataFormatClassNames, boolean supportsStandardImageMetadataFormat, String  nativeImageMetadataFormatName, String  nativeImageMetadataFormatClassName, String [] extraImageMetadataFormatNames, String [] extraImageMetadataFormatClassNames)
          지정된 값세트를 사용해 ImageWriterSpi 를 구축합니다.
 
메소드의 개요
abstract  boolean canEncodeImage (ImageTypeSpecifier  type)
          이 서비스 프로바이더에 관련하는 ImageWriter 구현이, 지정된 레이아웃으로 이미지를 encode 할 수 있는 경우는,true 를 돌려줍니다.
 boolean canEncodeImage (RenderedImage  im)
          이 서비스 프로바이더에 관련하는 ImageWriter 구현이, 지정된 RenderedImage 인스턴스를 encode 할 수 있는 경우는,true 를 돌려줍니다.
 ImageWriter createWriterInstance ()
          이 서비스 프로바이더에 관련하는 ImageWriter 구현의 인스턴스를 돌려줍니다.
abstract  ImageWriter createWriterInstance (Object  extension)
          이 서비스 프로바이더에 관련하는 ImageWriter 구현의 인스턴스를 돌려줍니다.
 String [] getImageReaderSpiNames ()
          이 서비스 프로바이더에 관련하는 ImageWriter 가 사용하는 내부 메타데이타 표현을 인식 가능한 ImageReaderSpi 클래스의 모든 완전 지정명을 포함한 String 배열을 돌려줍니다.
 Class [] getOutputTypes ()
          라이터의 setOutput 메소드의 인수에 사용 가능한 객체의 형태를 나타내는 Class 객체의 배열을 돌려줍니다.
 boolean isFormatLossless ()
          이 라이터가 출력하는 형식이 픽셀 데이터를 비트 정밀도로 보관 유지하는 경우는 true 를 돌려줍니다.
 boolean isOwnWriter (ImageWriter  writer)
          건네받은 ImageWriter 객체가 이 서비스 프로바이더에 관련하는 ImageWriter 의 인스턴스의 경우는,true 를 돌려줍니다.
 
클래스 javax.imageio.spi. ImageReaderWriterSpi 로부터 상속된 메소드
getExtraImageMetadataFormatNames , getExtraStreamMetadataFormatNames , getFileSuffixes , getFormatNames , getImageMetadataFormat , getMIMETypes , getNativeImageMetadataFormatName , getNativeStreamMetadataFormatName , getPluginClassName , getStreamMetadataFormat , isStandardImageMetadataFormatSupported , isStandardStreamMetadataFormatSupported
 
클래스 javax.imageio.spi. IIOServiceProvider 로부터 상속된 메소드
getDescription , getVendorName , getVersion , onDeregistration , onRegistration
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

필드의 상세

STANDARD_OUTPUT_TYPE

public static final Class [] STANDARD_OUTPUT_TYPE
getInputTypes 로부터 반환되는 단일 요소의 배열로, 처음은 ImageInputStream.class 가 포함되고 있습니다.


outputTypes

protected Class [] outputTypes
getOutputTypes 로부터 반환되는 Class 객체의 배열로, 처음은 null 입니다.


readerSpiNames

protected String [] readerSpiNames
getImageReaderSpiNames 로부터 반환되는 캐릭터 라인의 배열로, 처음은 null 입니다.

생성자 의 상세

ImageWriterSpi

protected ImageWriterSpi()
공백의 ImageWriterSpi 를 구축합니다. 모든 메소드의 작업 버젼을 제공하기 위한 인스턴스 변수의 초기화나 메소드 구현의 오버라이드(override)는, 서브 클래스에서 실시할 필요가 있습니다.


ImageWriterSpi

public ImageWriterSpi(String  vendorName,
                      String  version,
                      String [] names,
                      String [] suffixes,
                      String [] MIMETypes,
                      String  writerClassName,
                      Class [] outputTypes,
                      String [] readerSpiNames,
                      boolean supportsStandardStreamMetadataFormat,
                      String  nativeStreamMetadataFormatName,
                      String  nativeStreamMetadataFormatClassName,
                      String [] extraStreamMetadataFormatNames,
                      String [] extraStreamMetadataFormatClassNames,
                      boolean supportsStandardImageMetadataFormat,
                      String  nativeImageMetadataFormatName,
                      String  nativeImageMetadataFormatClassName,
                      String [] extraImageMetadataFormatNames,
                      String [] extraImageMetadataFormatClassNames)
지정된 값세트를 사용해 ImageWriterSpi 를 구축합니다.

파라미터:
vendorName - 벤더명 (null 이외의 String)
version - 버젼 식별자 (null 이외의 String)
names - 형식명을 나타내는 null 이외의 String 배열. 1 개(살) 이상의 엔트리가 존재할 필요가 있는
suffixes - 공통의 파일접미사(suffix)을 나타낸다 String 배열. 접미사(suffix)이 정의되어 있지 않은 경우는, null 를 지정한다. 길이 0 의 배열은 null 에 정규화되는
MIMETypes - 형식의 MIME 타입을 나타낸다 String 배열. 접미사(suffix)이 정의되어 있지 않은 경우는, null 를 지정한다. 길이 0 의 배열은 null 에 정규화되는
writerClassName - 관련한다 ImageWriterSpi 클래스의 완전 지정명 (null 이외의 String)
outputTypes - 정당한 출력 타입을 나타내는, 길이 1 이상의 Class 객체의 배열
readerSpiNames - 관련하는 모든 ImageReader 의 클래스를 명명하는, 길이 1 이상의 String 배열, 또는 null. 길이 0 의 배열은 null 에 정규화되는
supportsStandardStreamMetadataFormat - 스트림메타데이타객체가 표준 메타데이타 형식에서 기술된 트리를 사용 가능한가 어떤가를 나타내는 boolean
nativeStreamMetadataFormatName - getNativeStreamMetadataFormatName 로부터 반환되는 String, 또는null
nativeStreamMetadataFormatClassName - getNativeStreamMetadataFormat 로부터 반환되는 메타데이타 형식 객체의 인스턴스화로 사용하는 String, 또는 null
extraStreamMetadataFormatNames - getExtraStreamMetadataFormatNames 로부터 반환되는 String 배열, 또는 null. 길이 0 의 배열은 null 에 정규화되는
extraStreamMetadataFormatClassNames - getStreamMetadataFormat 로부터 반환되는 메타데이타 형식 객체의 인스턴스화로 사용하는 String, 또는 null. 길이 0 의 배열은 null 에 정규화되는
supportsStandardImageMetadataFormat - 이메이지메타데이타객체가, 표준의 메타데이타 형식에서 기술된 트리를 사용할 수 있을지 어떨지를 나타내는 boolean
nativeImageMetadataFormatName - getNativeImageMetadataFormatName 로부터 반환되는 String, 또는 null
nativeImageMetadataFormatClassName - getNativeImageMetadataFormat 로부터 반환되는 메타데이타 형식 객체의 인스턴스화로 사용하는 String, 또는 null
extraImageMetadataFormatNames - getExtraImageMetadataFormatNames 로부터 반환된다 String 배열. 길이 0 의 배열은 null 에 정규화되는
extraImageMetadataFormatClassNames - getImageMetadataFormat 로부터 반환되는 메타데이타 형식 객체의 인스턴스화로 사용하는 String, 또는 null. 길이 0 의 배열은 null 에 정규화된다
예외:
IllegalArgumentException - vendorName 가 null 의 경우
IllegalArgumentException - version 가 null 의 경우
IllegalArgumentException - names 가 null 또는 길이 0 의 경우
IllegalArgumentException - writerClassName 가 null 의 경우
IllegalArgumentException - outputTypes 가 null 또는 길이 0 의 경우
메소드의 상세

isFormatLossless

public boolean isFormatLossless()
이 라이터가 출력하는 형식이 픽셀 데이터를 비트 정밀도로 보관 유지하는 경우는 true 를 돌려줍니다. 디폴트의 구현에서는 true 를 돌려줍니다.

반환값:
형식이 완전한 정밀도로 픽셀을 보관 유지하는 경우는 true

getOutputTypes

public Class [] getOutputTypes()
라이터의 setOutput 메소드의 인수에 사용 가능한 객체의 형태를 나타내는 Class 객체의 배열을 돌려줍니다.

ImageOutputStream 에게만 출력하는 대부분의 라이터의 경우,ImageOutputStream.class 를 포함한 단일 요소의 배열이 돌려주어집니다.

반환값:
길이 1 이상의 Class 객체의, null 이외의 배열

canEncodeImage

public abstract boolean canEncodeImage(ImageTypeSpecifier  type)
이 서비스 프로바이더에 관련하는 ImageWriter 구현이, 지정된 레이아웃으로 이미지를 encode 할 수 있는 경우는,true 를 돌려줍니다. 레이아웃 (즉 이미지의 SampleModel 와 ColorModel)은 ImageTypeSpecifier 객체로 기술됩니다.

true 가 돌려주어져도, 인코딩이 성공한다고는 할 수 없습니다. 인코딩 처리로, 입출력 에러, 부정합 또는 부정한 데이터 구조등에 의해 에러가 발생하는 경우가 있습니다. 이 목적은, 이미지가 인코딩 형식의 스코프내일지 어떨지를 판정하기 위해서, 이미지의 기본 구조를 적절히 검증하는 것입니다. 예를 들어, 그레이 스케일만을 encode 가능한 형식용의 서비스 프로바이더는, RGB BufferedImage 가 건네받으면(자) false 를 돌려줍니다. 같이 8 비트 RGB 이미지를 encode 할 수 있는 서비스 프로바이더는, 관련하는 알파 채널을 가지는 이미지를 encode 하지 않는 경우가 있습니다.

ImageWriter (서비스 프로바이더)안에는, 다소 엄격한 것이 있습니다. 예를 들어, 포함하기 위해서 어느 정도 정밀도를 저하시켜 각 픽셀을 제산할 필요가 있어도, 사전에 알파를 곱셈한 이미지를 받는 경우가 있습니다.

파라미터:
type - 기입해지는 이미지의 레이아웃을 지정한다 ImageTypeSpecifier
반환값:
이 라이터가 지정된 레이아웃으로 이미지를 encode 할 수 있을 가능성이 높은 경우는 true
예외:
IllegalArgumentException - type 가 null 의 경우

canEncodeImage

public boolean canEncodeImage(RenderedImage  im)
이 서비스 프로바이더에 관련하는 ImageWriter 구현이, 지정된 RenderedImage 인스턴스를 encode 할 수 있는 경우는,true 를 돌려줍니다. 이것에는 java.awt.image.BufferedImage 의 인스턴스가 포함됩니다.

이 메소드의 시멘틱스의 자세한 것은,canEncodeImage(ImageTypeSpecifier) 의 설명을 참조해 주세요.

파라미터:
im - encode 되는 RenderedImage 의 인스턴스
반환값:
이 라이터가 이 이미지를 encode 할 수 있을 가능성이 높은 경우는 true
예외:
IllegalArgumentException - im 가 null 의 경우

createWriterInstance

public ImageWriter  createWriterInstance()
                                 throws IOException 
이 서비스 프로바이더에 관련하는 ImageWriter 구현의 인스턴스를 돌려줍니다. 반환되는 객체의 초기 상태는,reset 메소드의 호출 후와 같은 상태입니다.

디폴트의 구현에서는,createWriterInstance(null) 를 돌려줄 뿐입니다.

반환값:
ImageWriter 인스턴스
예외:
IOException - 라이터 클래스의 로드나 초기화, 또는 라이터 객체의 인스턴스화나 초기화로 에러가 발생했을 경우

createWriterInstance

public abstract ImageWriter  createWriterInstance(Object  extension)
                                          throws IOException 
이 서비스 프로바이더에 관련하는 ImageWriter 구현의 인스턴스를 돌려줍니다. 반환되는 객체의 초기 상태는,reset 메소드의 호출 후와 같은 상태입니다.

구축시에 Object 를 플러그 인에 제공할 수 있습니다. 객체의 특성은, 플러그 인에 따라서 다릅니다.

일반적으로, 플러그 인은 return new MyImageWriter(this) 등의 코드를 사용해 이 메소드를 구현합니다.

파라미터:
extension - 플러그 인 고유의 확장 객체. null 도 가능
반환값:
ImageWriter 인스턴스
예외:
IOException - 라이터의 인스턴스화에 실패했을 경우
IllegalArgumentException - 확장 객체가 적절하지 않은 것을 나타내기 위해서(때문에) ImageWriter 의 생성자 이 IllegalArgumentException 를 throw 하는 경우

isOwnWriter

public boolean isOwnWriter(ImageWriter  writer)
건네받은 ImageWriter 객체가 이 서비스 프로바이더에 관련하는 ImageWriter 의 인스턴스의 경우는,true 를 돌려줍니다.

파라미터:
writer - ImageWriter 인스턴스
반환값:
writer 가 인식되는 경우는 true
예외:
IllegalArgumentException - writer 가 null 의 경우

getImageReaderSpiNames

public String [] getImageReaderSpiNames()
이 서비스 프로바이더에 관련하는 ImageWriter 가 사용하는 내부 메타데이타 표현을 인식 가능한 ImageReaderSpi 클래스의 모든 완전 지정명을 포함한 String 배열을 돌려줍니다. 이런 종류의 ImageReader 가 지정되어 있지 않은 경우는 null 를 돌려줍니다. null 이외의 값이 반환되는 경우는, 0 이외의 길이가 됩니다.

배열의 최초의 항목은,ImageIO.getImageReader(ImageWriter) 로부터 반환되는 ImageReader 의 인스턴스화로 사용되기 (위해)때문에, 「우선된다」리더의 서비스 프로바이더명이 아니면 안됩니다.

이 기구는,ImageWriter 가 인식하는 구조내에서 픽셀 이외의 메타데이타 (IIOExtraDataInfo 를 참조)를 생성하는 ImageReader 의 취득에 사용할 수 있습니다. 이미지를 읽어들여, 이 메소드로 취득하고 싶은 차이인가의 ImageReader 로부터 이 데이터를 취득해, 그것을 ImageWriter 에 건네주면(자), 클라이언트 프로그램으로 모든 메타데이타를 보관 유지하면서, 이미지의 read나 변경, 쓰기 반환을 실시할 수가 있어 메타데이타의 내부 구조나 이미지 형식조차 아무것도 의식할 필요는 없습니다.

반환값:
ImageReaderSpi 의 이름을 포함한다 길이 1 이상의 String 의 배열, 또는 null
관련 항목:
ImageIO.getImageReader(ImageWriter) , ImageReaderSpi.getImageWriterSpiNames()

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.