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 - vendorNamenull 의 경우
IllegalArgumentException - versionnull 의 경우
IllegalArgumentException - namesnull 또는 길이 0 의 경우
IllegalArgumentException - writerClassNamenull 의 경우
IllegalArgumentException - outputTypesnull 또는 길이 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 를 돌려줍니다. 레이아웃 (즉 이미지의 SampleModelColorModel)은 ImageTypeSpecifier 객체로 기술됩니다.

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

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

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

canEncodeImage

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

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

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

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 - writernull 의 경우

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 도 참조해 주세요.