JavaTM 2
Platform
Std.  Ed.  v1. 4.0

javax.imageio
클래스 ImageReadParam

java.lang.Object 
  |
  +--javax.imageio.IIOParam 
        |
        +--javax.imageio.ImageReadParam
직계의 기존의 서브 클래스:
JPEGImageReadParam

public class ImageReadParam
extends IIOParam

스트림이 복호화(decode) 되는 방법을 기술하는 클래스입니다. 이 클래스 또는 서브 클래스의 인스턴스는 ImageReader 의 인스턴스에 대한 관례적인 안내가 되는 정보를 제공하기 위해서 사용합니다.

파일 또는 스트림의 일부로서 encode 된 이미지는 공간적인 치수의 폭과 높이, 밴드수, 및 프로그래시브 디코딩 패스의 수 등, 복수의 차원으로 확대하고 생각됩니다. 이 클래스는 이러한 모든 차원에서, 연속적인 이미지의 (하이퍼) 구형 서브 에리어를 사용해, 복호화(decode)의 선택을 가능하게 합니다. 게다가 공간적인 치수는 비연속적으로 솎아냄 할 수 있습니다. 마지막으로, 색 및 형식의 변환은 BufferedImage 을 제공하는지 ImageTypeSpecifier 를 사용하는 것으로써, 목적지 이미지의 ColorModelSampleModel 를 제어해 지정됩니다.

ImageReadParam 오브젝트는 Java Image I/O 체제의 문맥으로, 이미지 또는 이미지세트를 스트림으로부터 입력으로 변환하는 방법을 지정하기 위해서 사용합니다. 특정의 이미지 형식의 플러그 인은 ImageReader 구현의 getDefaultReadParam 메소드로부터 ImageReadParam 의 인스턴스를 돌려줍니다.

ImageReadParam 의 인스턴스에 의해 관리되는 상태는 복호화(decode) 되는 특정의 이미지로부터 독립하고 있습니다. 실제로 복호화(decode)를 하는 경우, read 파라미터로 설정된 값은 스트림 및 복호화(decode) 된 픽셀 데이터를 받는 목적지 BufferedImage 보다 복호화(decode) 되는 이미지의, 실제의 프로퍼티에 결합됩니다. 예를 들어,setSourceRegion 를 사용해 설정된 소스 area는 실제의 유효한 소스 area에 최초로 교차합니다. 결과는 getDestinationOffset 로 돌려주어지는 값에 의해 변환되어 실제의 유효한 목적지 area에 교차하는 결과의 구형이, 기입해지는 목적지 area가 됩니다.

ImageReadParam 에 의해 지정된 파라미터는 다음과 같이 이미지에 적용됩니다. 제일에, 표현의 사이즈가 setSourceRenderSize 에 의해 설정되어 있는 경우, 복호화(decode) 되는 이미지 전체는 getSourceRenderSize 에 의해 지정된 사이즈로 표현 됩니다. 그 이외의 경우, 이미지는 ImageReader.getWidthImageReader.getHeight 에 의해 지정된 자연의 사이즈로 표현 됩니다.

2번째로, 이미지는 getSourceXOffset,getSourceYOffset,getSourceWidth, 및 getSourceHeight 에 의해 지정된 소스 area에 클립 됩니다.

결과의 area는 IIOParam.setSourceSubsampling 에 의해 지정된 계수에 의해 솎아냄 됩니다. 최초의 픽셀, 행 근처 픽셀수, 및 행수는 모두 서브 샘플링 설정에 의존합니다. 폭 w, 높이 h 의 결과의 구형의 최소 X 좌표와 Y 좌표 (minX,minY)를 호출합니다.

이 구형은 (getDestinationOffset(). x,getDestinationOffset(). y)에 오프셋(offset) 되어 목적지 경계에 클립 됩니다. 목적지 이미지가 설정되어 있지 않은 경우, 목적지는 소스 area의 모든 픽셀을 목적지에 기입할 수 있게, 폭 getDestinationOffset(). x + w, 높이 getDestinationOffset(). y + h 에 정의됩니다.

서브 샘플링 후에, 목적지 이미지내에 배치되어 getSourceMinProgressivePassgetSourceNumProgressivePasses 에 의해 지정되는 프로그래시브 패스의 1 개에 기입해지는 픽셀은 다음의 순서에게 건네집니다.

마지막으로, 각 픽셀의 소스 샘플은 setDestinationBands 의 코멘트에 기술되는 알고리즘을 사용해, 목적지 밴드에 매핑 됩니다.

플러그 인 라이터는 플러그 인 고유의 추가의 인터페이스를 구현하는 서브 클래스를 제공하는 것에 의해,ImageReadParam 의 기능을 확장할 수 있습니다. 사용 가능한 인터페이스 및 그 사용 방법에 대해서는 플러그 인의 문서를 참조해 주세요. 리더는 인식하지 않는 ImageReadParam 서브 클래스의 확장 기능을 그대로 무시합니다. 또,getDefaultReadParam 를 개입시켜, 리더 독자적인 ImageReadParam 인스턴스를 작성할 때, 사용할 수 없는 옵션 기능도 통상은 무시합니다.

관련 항목:
ImageReader , ImageWriter , ImageWriteParam

필드의 개요
protected  boolean canSetSourceRenderSize
          이 ImageReadParam 가 소스의 표현 치수를 설정할 수 있는 경우는 true 입니다.
protected  BufferedImage destination
          현재의 목적지 BufferedImage, 또는 아무것도 설정되어 있지 않은 경우는 null 입니다.
protected  int[] destinationBands
          int 의 배열로서의, 사용하는 목적지 밴드세트입니다.
protected  int minProgressivePass
          소스로부터 읽어내는 프로그래시브 패스의 최소 인덱스입니다.
protected  int numProgressivePasses
          소스로부터 읽어내는 프로그래시브 패스의 최대수입니다.
protected  Dimension sourceRenderSize
          canSetSourceRenderSizetrue 의 경우, 목적의 소스 표현의 폭과 높이입니다.
 
클래스 javax.imageio. IIOParam 에서 상속받은 필드
controller , defaultController , destinationOffset , destinationType , sourceBands , sourceRegion , sourceXSubsampling , sourceYSubsampling , subsamplingXOffset , subsamplingYOffset
 
생성자의 개요
ImageReadParam ()
          ImageReadParam 를 구축합니다.
 
메소드의 개요
 boolean canSetSourceRenderSize ()
          이 리더가, 복호화(decode) 프로세스의 일부로서setSourceRenderSize 메소드에 의해, 소스 이미지를 임의의 사이즈로 표현 할 수 있게 하는 경우,true 를 돌려줍니다.
 BufferedImage getDestination ()
          setDestination 메소드에 의해 설정된 BufferedImage, 또는 아무것도 설정되어 있지 않은 경우는 null 를 돌려줍니다.
 int[] getDestinationBands ()
          데이터가 배치되고 있는 밴드 인덱스세트를 돌려줍니다.
 int getSourceMaxProgressivePass ()
          getSourceNumProgressivePassesInteger.MAX_VALUE 와 동일한 경우,Integer.MAX_VALUE 를 돌려줍니다.
 int getSourceMinProgressivePass ()
          복호화(decode) 되는 최초의 프로그래시브 패스의 인덱스를 돌려줍니다.
 int getSourceNumProgressivePasses ()
          복호화(decode) 되는 프로그래시브 패스의 수를 돌려줍니다.
 Dimension getSourceRenderSize ()
          setSourceRenderSize 메소드에 의해 설정되어 있는 경우, 복호화(decode)의 사이에 표현 되도록(듯이), 이미지의 폭과 높이를 돌려줍니다.
 void setDestination (BufferedImage  destination)
          복호화(decode) 되는 픽셀 데이터의 목적지로서 사용하는 BufferedImage 를 제공합니다.
 void setDestinationBands (int[] destinationBands)
          데이터가 배치되고 있는 목적지 밴드의 인덱스를 설정합니다.
 void setDestinationType (ImageTypeSpecifier  destinationType)
          ImageTypeSpecifier 를 사용해, 이용하고 싶은 이미지 형식을 목적지 이미지로 설정합니다.
 void setSourceProgressivePasses (int minPass, int numPasses)
          복호화(decode) 되는 프로그래시브 패스의 범위를 설정합니다.
 void setSourceRenderSize (Dimension  size)
          이미지를 임의의 사이즈로 표현 할 수 있는 경우, 소스의 폭과 높이가 지정된 값으로 설정합니다.
 
클래스 javax.imageio. IIOParam 에서 상속받은 메소드
activateController , getController , getDefaultController , getDestinationOffset , getDestinationType , getSourceBands , getSourceRegion , getSourceXSubsampling , getSourceYSubsampling , getSubsamplingXOffset , getSubsamplingYOffset , hasController , setController , setDestinationOffset , setSourceBands , setSourceRegion , setSourceSubsampling
 
클래스 java.lang. Object 에서 상속받은 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

필드의 상세

canSetSourceRenderSize

protected boolean canSetSourceRenderSize
ImageReadParam 가 소스의 표현 치수를 설정할 수 있는 경우는 true 입니다. 디폴트의 값은 false 입니다. 서브 클래스는 수동으로 이 값을 설정할 필요가 있습니다.

소스의 표현 사이즈의 설정을 서포트하지 않는 ImageReader 는 이 값을 false 로 설정할 필요가 있습니다.


sourceRenderSize

protected Dimension  sourceRenderSize
canSetSourceRenderSizetrue 의 경우, 목적의 소스 표현의 폭과 높이입니다. 그렇지 않은 경우는 null 입니다.

소스의 표현 사이즈의 설정을 서포트하지 않는 ImageReader 는 이 값을 무시합니다.


destination

protected BufferedImage  destination
현재의 목적지 BufferedImage, 또는 아무것도 설정되어 있지 않은 경우는 null 입니다. 디폴트의 값은 null 입니다.


destinationBands

protected int[] destinationBands
int 의 배열로서의, 사용하는 목적지 밴드세트입니다. 디폴트의 값은 null 입니다. 이것은 모든 목적지 밴드가 차례로 기입해지는 것을 나타냅니다.


minProgressivePass

protected int minProgressivePass
소스로부터 읽어내는 프로그래시브 패스의 최소 인덱스입니다. 디폴트의 값은 0 으로 설정됩니다. 이것은 사용 가능한 최초의 패스로부터 개시하는 패스가 복호화(decode) 되는 것을 나타냅니다.

서브 클래스는 이 값이 부가 되지 않게 할 필요가 있습니다.


numProgressivePasses

protected int numProgressivePasses
소스로부터 읽어내는 프로그래시브 패스의 최대수입니다. 디폴트의 값은 Integer.MAX_VALUE 로 설정됩니다. 이것은 사용 가능한 마지막 패스까지 복호화(decode) 되는 것을 나타냅니다.

서브 클래스는 이 값이 정말로 되도록(듯이) 할 필요가 있습니다. 게다가 이 값이 Integer.MAX_VALUE 가 아닌 경우,minProgressivePass + numProgressivePasses - 1Integer.MAX_VALUE 를 넘어 되지 않습니다.

생성자의 상세

ImageReadParam

public ImageReadParam()
ImageReadParam 를 구축합니다.

메소드의 상세

setDestinationType

public void setDestinationType(ImageTypeSpecifier  destinationType)
클래스 IIOParam 의 기술:
ImageTypeSpecifier 를 사용해, 이용하고 싶은 이미지 형식을 목적지 이미지로 설정합니다.

read시에, 이 메소드를 사용해 목적지의 레이아웃이 설정되었을 경우,ImageReader read 메소드의 각 호출은 주어진 타입의 지시자에 의해 지정된 형식을 사용해, 새로운 BufferedImage 를 돌려줍니다. 부작용으로서ImageReadParam.setDestination(BufferedImage) 에 의해 설정되는 모든 목적지 BufferedImage 는 목적지로서 설정되지 않게 됩니다. 바꾸어 말하면(자), 이 메소드는 setDestination((BufferedImage) null) 의 소환이라고 생각할 수도 있습니다.

기입시에, 목적지의 타입은 이미지의 칼라 타입을 결정하기 위해서(때문에) 사용되는 경우가 있습니다. SampleModel 정보는 무시되어,null 가 됩니다. 예를 들어, 4 밴드의 이미지는 CMYK 또는 RGBA 데이터의 어떤 것인가로 나타낼 수 있습니다. 목적지의 타입이 설정되었을 경우, 그 ColorModel 는 이미지 자체에 있는 모든 ColorModel 를 오버라이드(override) 합니다. 이것은 이미지의 ColorModel 가, 기입해진 밴드의 부분집합은 아니고 이미지 전체를 참조하므로,setSourceBands 를 사용하는 경우에 중요합니다.

오버라이드(override):
클래스 IIOParam 내의 setDestinationType
파라미터:
destinationType - 목적지의 레이아웃과 칼라 타입을 결정하기 위해서(때문에) 사용하는 ImageTypeSpecifier
관련 항목:
IIOParam.getDestinationType()

setDestination

public void setDestination(BufferedImage  destination)
복호화(decode) 되는 픽셀 데이터의 목적지로서 사용하는 BufferedImage 를 제공합니다. 현재 설정되어 있는 이미지는 read,readAll, 및 readRaster 메소드에 의해 기입해져 이것에 대한 참조는 이러한 메소드에 의해 돌려주어집니다.

상술의 메소드로부터의 픽셀 데이터는 getDestinationOffset 에 의해 지정되는 좌표의 개시시에 기입해집니다.

destinationnull 의 경우, 새롭게 작성된 BufferedImage 는 이러한 메소드에 의해 돌려주어집니다.

read시에, 이미지의 ColorModelSampleModel 가,ImageReadergetImageTypes 메소드로부터 돌려주어지는 ImageTypeSpecifier 의 1 개에 대응하는 것을 확인하기 위해서 검사됩니다. 대응하지 않는 경우, 리더는 IIOException 를 슬로우 합니다.

파라미터:
destination - 기입해지는 BufferedImage, 또는 null
관련 항목:
getDestination()

getDestination

public BufferedImage  getDestination()
setDestination 메소드에 의해 설정된 BufferedImage, 또는 아무것도 설정되어 있지 않은 경우는 null 를 돌려줍니다.

반환값:
기입해지는 BufferedImage
관련 항목:
setDestination(java.awt.image.BufferedImage)

setDestinationBands

public void setDestinationBands(int[] destinationBands)
데이터가 배치되고 있는 목적지 밴드의 인덱스를 설정합니다. 중복 하는 인덱스는 사용할 수 없습니다.

null 는 모든 목적지 밴드가 사용되고 있는 것을 나타냅니다.

목적지 밴드가 지정되지 않는 경우, 목적지 밴드의 부분집합의 선택은 읽을 출력 이미지의 밴드수에 영향을 주지 않습니다. 작성되는 목적지 이미지는 이 메소드가 불려 가지 않았는지와 같이, 같은 밴드수를 보관 유지합니다. 목적지 이미지에 다른 밴드수가 필요한 경우,ImageReadParam.setDestination 메소드를 사용해 이미지를 제공할 필요가 있습니다.

목적지 밴드의 최대 인덱스보다 큰 값이 지정되었을 경우, 또는 사용하는 소스 밴드의 수와 목적지 밴드의 수가 다른 경우, 읽어들여 또는 기입해 때에, 리더 또는 라이터에 의해 IllegalArgumentException 가 슬로우 됩니다. ImageReader.checkReadParamBandSettings 메소드는 이 테스트를 자동화하기 위해서 사용됩니다.

파라미터:
destinationBands - 사용하는 정수형 밴드 인덱스의 배열
예외:
IllegalArgumentException - destinationBands 가 부 또는 중복 하는 값을 가지는 경우
관련 항목:
getDestinationBands() , IIOParam.getSourceBands() , ImageReader.checkReadParamBandSettings(javax.imageio.ImageReadParam, int, int)

getDestinationBands

public int[] getDestinationBands()
데이터가 배치되고 있는 밴드 인덱스세트를 돌려줍니다. 값이 설정되어 있지 않은 경우, 모든 목적지 밴드가 사용되고 있는 것을 나타내는 null 가 돌려주어집니다.

반환값:
사용하는 목적지 밴드의 인덱스, 또는 null
관련 항목:
setDestinationBands(int[])

canSetSourceRenderSize

public boolean canSetSourceRenderSize()
이 리더가, 복호화(decode) 프로세스의 일부로서setSourceRenderSize 메소드에 의해, 소스 이미지를 임의의 사이즈로 표현 할 수 있게 하는 경우,true 를 돌려줍니다. 이 메소드가 false 를 돌려주는 경우,setSourceRenderSize 의 호출은 UnsupportedOperationException 를 슬로우 합니다.

반환값:
소스 표현 사이즈의 설정을 서포트하는 경우,true
관련 항목:
setSourceRenderSize(java.awt.Dimension)

setSourceRenderSize

public void setSourceRenderSize(Dimension  size)
                         throws UnsupportedOperationException 
이미지를 임의의 사이즈로 표현 할 수 있는 경우, 소스의 폭과 높이가 지정된 값으로 설정합니다. ImageReadergetWidthgetHeight 메소드로부터 돌려주어지는 값은 이 메소드에 의해 영향을 받지 않는 것에 주의해 주세요. 이것들은 계속 이미지의 디폴트의 사이즈를 돌려줍니다. 같이 이미지가 타일링 되는 경우도, 타일의 폭과 높이는 디폴트의 사이즈에 의해 지정됩니다.

통상, 폭과 높이는 폭과 높이의 비율이 ImageReader.getAspectRatio 로부터 돌려주어지는 이미지의 종횡비와 정확하게 근사 하도록(듯이) 선택할 필요가 있습니다.

이 플러그 인으로 표현 사이즈의 설정을 할 수 없는 경우,UnsupportedOperationException 가 슬로우 됩니다.

표현 사이즈의 설정을 삭제하려면 ,size 에 값 null 를 건네줍니다.

파라미터:
size - 바람직한 폭과 높이를 지정하는 Dimension
예외:
IllegalArgumentException - 폭 또는 높이의 어떤 것인가가 부 또는 0 의 경우
UnsupportedOperationException - 이 플러그 인으로, 이미지의 사이즈 변경이 서포트되지 않는 경우
관련 항목:
getSourceRenderSize() , ImageReader.getWidth(int) , ImageReader.getHeight(int) , ImageReader.getAspectRatio(int)

getSourceRenderSize

public Dimension  getSourceRenderSize()
setSourceRenderSize 메소드에 의해 설정되어 있는 경우, 복호화(decode)의 사이에 표현 되도록(듯이), 이미지의 폭과 높이를 돌려줍니다. 값 null 는 아무것도 설정을 하지 않은 것을 나타냅니다.

반환값:
Dimension 로서의, 소스 이미지의 표현 되는 폭과 높이
관련 항목:
setSourceRenderSize(java.awt.Dimension)

setSourceProgressivePasses

public void setSourceProgressivePasses(int minPass,
                                       int numPasses)
복호화(decode) 되는 프로그래시브 패스의 범위를 설정합니다. 범위외의 패스는 무시됩니다.

프로그래시브 패스는 통상 단계적으로 높아지는 실효 해상도로 이미지 전체를 재복호화(decode) 합니다. 다만, 이 경우보다 큰 전송 대역폭이 필요하게 됩니다. 가장 일반적인 프로그래시브 인코딩이 사용되는 것은 JPEG 형식의 경우입니다. 이 경우, 연속하는 패스에, 보다 상세한 고주파 이미지 컨텐츠의 표현이 포함됩니다.

복호화(decode) 되는 실제의 패스의 수는 스트림으로 사용 가능한 실제의 패스의 수에 근거해, 복호화(decode)시로 결정됩니다. 따라서,minPass + numPasses - 1 이 사용 가능한 마지막 패스의 인덱스보다 큰 경우, 복호화(decode)는 그 패스로 종료합니다.

Integer.MAX_VALUEnumPasses 의 값은 minPass 보다 전방의 모든 패스가 읽어내지는 것을 나타냅니다. 그렇지 않은 경우, 마지막 패스의 인덱스 (즉,minPass + numPasses - 1)는 Integer.MAX_VALUE 를 넘어 되지 않습니다.

unsetSourceProgressivePasses 메소드는 없습니다. setSourceProgressivePasses(0, Integer.MAX_VALUE) 의 호출에 의해, 같은 효과를 얻을 수 있습니다.

파라미터:
minPass - 복호화(decode) 되는 최초의 패스의 인덱스
numPasses - 복호화(decode) 되는 패스의 최대수
예외:
IllegalArgumentException - minPass 가 부,numPasses 가 부 또는 0, 또는 numPassesInteger.MAX_VALUE 보다 작고,minPass + numPasses - 1INTEGER.MAX_VALUE 보다 큰 경우
관련 항목:
getSourceMinProgressivePass() , getSourceMaxProgressivePass()

getSourceMinProgressivePass

public int getSourceMinProgressivePass()
복호화(decode) 되는 최초의 프로그래시브 패스의 인덱스를 돌려줍니다. 값이 설정되어 있지 않은 경우, 올바른 값 0 이 돌려주어집니다.

반환값:
복호화(decode) 되는 최초의 패스의 인덱스
관련 항목:
setSourceProgressivePasses(int, int) , getSourceNumProgressivePasses()

getSourceMaxProgressivePass

public int getSourceMaxProgressivePass()
getSourceNumProgressivePassesInteger.MAX_VALUE 와 동일한 경우,Integer.MAX_VALUE 를 돌려줍니다. 그 이외의 경우,getSourceMinProgressivePass() + getSourceNumProgressivePasses() - 1 을 돌려줍니다.

반환값:
읽어내지는 마지막 패스의 인덱스, 또는 Integer.MAX_VALUE

getSourceNumProgressivePasses

public int getSourceNumProgressivePasses()
복호화(decode) 되는 프로그래시브 패스의 수를 돌려줍니다. 값이 설정되어 있지 않은 경우, 올바른 값 Integer.MAX_VALUE 가 돌려주어집니다.

반환값:
복호화(decode) 되는 패스의 수
관련 항목:
setSourceProgressivePasses(int, int) , getSourceMinProgressivePass()

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

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

Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.