|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
java.lang.Objectjavax.imageio.IIOParam
javax.imageio.ImageReadParam
public class ImageReadParam
스트림이 복호화 되는 방법을 기술하는 클래스입니다. 이 클래스 또는 서브 클래스의 인스턴스는,ImageReader
의 인스턴스에 규정의 「방법」에 대한 정보를 제공하기 위해서 사용됩니다.
파일 또는 스트림의 일부로서 encode 된 이미지는, 공간적인 치수의 폭과 높이, 밴드수, 및 프로그래시브 디코딩 패스의 수 등, 복수의 차원으로 확대하고 생각됩니다. 이 클래스는, 이러한 모든 차원에서, 연속적인 이미지의 (하이퍼) 구형 서브 영역을 사용해, 복호화의 선택을 가능하게 합니다. 게다가 공간적인 치수는 비연속적으로 솎아냄 할 수 있습니다. 마지막으로, 색 및 형식의 변환은,BufferedImage
을 제공하는지,ImageTypeSpecifier
를 사용하는 것으로써, 목적지 이미지의 ColorModel
과 SampleModel
를 제어해 지정됩니다.
ImageReadParam
객체는, Java Image I/O 시스템의 문맥으로, 이미지 또는 이미지세트를 스트림로부터 입력으로 변환하는 방법을 지정하기 위해서 사용합니다. 특정의 이미지 형식의 플러그 인은,ImageReader
구현의 getDefaultReadParam
메소드로부터 ImageReadParam
의 인스턴스를 돌려줍니다.
ImageReadParam
의 인스턴스에 의해 관리되는 상태는, 복호화 되는 특정의 이미지로부터 독립하고 있습니다. 실제로 복호화를 하는 경우, read 파라미터로 설정된 값은, 스트림로부터 복호화중의 이미지의 실제의 프로퍼티 및 복호화 된 픽셀 데이터를 받는 목적지 BufferedImage
에 결합됩니다. 예를 들어,setSourceRegion
를 사용해 설정된 소스 영역은, 실제의 유효한 소스 영역에 최초로 교차합니다. 결과는,getDestinationOffset
로 반환되는 값에 의해 변환되어 실제의 유효한 목적지 영역에 교차하는 결과의 구형이, 기입해지는 목적지 영역이 됩니다.
ImageReadParam
에 의해 지정된 파라미터는, 다음과 같이 이미지에 적용됩니다. 최초로, draw의 사이즈가 setSourceRenderSize
에 의해 설정되어 있는 경우, 복호화 되는 이미지 전체는 getSourceRenderSize
에 의해 지정된 사이즈로 draw 됩니다. 그 이외의 경우, 이미지는 ImageReader.getWidth
및 ImageReader.getHeight
에 의해 지정된 실제의 사이즈로 draw 됩니다.
다음에, 이미지는 getSourceXOffset
,getSourceYOffset
,getSourceWidth
, 및 getSourceHeight
에 의해 지정된 소스 영역에 클립 됩니다.
결과의 영역은,
에 의해 지정된 계수에 의해 솎아냄 됩니다. 최초의 픽셀, 행 근처 픽셀수, 및 행수는, 모두 서브 샘플링 설정에 의존합니다. 폭 IIOParam.setSourceSubsampling
w
, 높이 h
의 결과의 구형의 최소 X 좌표와 Y 좌표 (minX
,minY
)를 호출합니다.
이 구형은, (getDestinationOffset(). x
,getDestinationOffset(). y
)에 오프셋(offset) 되어 목적지 경계에 클립 됩니다. 목적지 이미지가 설정되어 있지 않은 경우, 목적지는, 소스 영역의 모든 픽셀을 목적지에 기입할 수 있도록(듯이), 폭 getDestinationOffset(). x
+ w
, 높이 getDestinationOffset(). y
+ h
에 정의됩니다.
서브 샘플링 후에, 목적지 이미지내에 배치되어 getSourceMinProgressivePass
와 getSourceNumProgressivePasses
에 의해 지정되는 프로그래시브 패스의 1 개에 기입해지는 픽셀은, 다음의 순서에게 건네집니다.
마지막으로, 각 픽셀의 소스 샘플은 setDestinationBands
의 코멘트에 기술되는 알고리즘을 사용해, 목적지 밴드에 매핑 됩니다.
플러그 인의 기입측은, 플러그 인 고유의 추가의 인터페이스를 구현하는 서브 클래스를 제공하는 것으로써,ImageReadParam
의 기능을 확장할 수 있습니다. 어느 인터페이스가 이용 가능한가, 그것이 어떻게 사용될까는, 플러그 인에 의합니다. 읽기측은, 인식하지 않는 ImageReadParam
서브 클래스의 확장 기능을 그대로 무시합니다. 또,getDefaultReadParam
를 개입시켜, 읽기측 자체의 ImageReadParam
인스턴스를 작성하는 경우, 일반적으로, 사용 불가인 옵션 기능은 모두 무시됩니다.
쿼리메소드는, 장래를 위해서(때문에) 준비되어 있는 경우를 제외해,ImageReader
의 모든 구현으로 지원될 필요가 있습니다. 예를 들어, 소스의 draw 사이즈는 생략 가능합니다만, 서브 샘플링은 지원될 필요가 있습니다.
ImageReader
,
ImageWriter
,
ImageWriteParam
필드의 개요 | |
---|---|
protected boolean |
canSetSourceRenderSize
이 ImageReadParam 가 소스의 draw 치수를 설정할 수 있는 경우는 true 입니다. |
protected BufferedImage |
destination
현재의 목적지 BufferedImage , 또는 아무것도 설정되어 있지 않은 경우는 null 입니다. |
protected int[] |
destinationBands
int 의 배열로서의, 사용하는 목적지 밴드세트입니다. |
protected int |
minProgressivePass
소스로부터 읽어내는 프로그래시브 패스의 최소 인덱스입니다. |
protected int |
numProgressivePasses
소스로부터 읽어내는 프로그래시브 패스의 최대수입니다. |
protected Dimension |
sourceRenderSize
canSetSourceRenderSize 가 true 의 경우, 목적의 소스 draw의 폭과 높이입니다. |
클래스 javax.imageio. IIOParam 로부터 상속된 필드 |
---|
controller , defaultController , destinationOffset , destinationType , sourceBands , sourceRegion , sourceXSubsampling , sourceYSubsampling , subsamplingXOffset , subsamplingYOffset |
생성자 의 개요 | |
---|---|
ImageReadParam ()
ImageReadParam 를 구축합니다. |
메소드의 개요 | |
---|---|
boolean |
canSetSourceRenderSize ()
이 읽기측이, 복호화 프로세스의 일부로서 setSourceRenderSize 메소드에 의해, 소스 이미지를 임의의 사이즈로 draw 할 수 있도록(듯이) 하는 경우,true 를 돌려줍니다. |
BufferedImage |
getDestination ()
setDestination 메소드에 의해 설정된 BufferedImage , 또는 아무것도 설정되어 있지 않은 경우는 null 를 돌려줍니다. |
int[] |
getDestinationBands ()
데이터가 배치되고 있는 밴드 인덱스세트를 돌려줍니다. |
int |
getSourceMaxProgressivePass ()
getSourceNumProgressivePasses 가 Integer.MAX_VALUE 와 동일한 경우,Integer.MAX_VALUE 를 돌려줍니다. |
int |
getSourceMinProgressivePass ()
복호화 되는 최초의 프로그래시브 패스의 인덱스를 돌려줍니다. |
int |
getSourceNumProgressivePasses ()
복호화 되는 프로그래시브 패스의 수를 돌려줍니다. |
Dimension |
getSourceRenderSize ()
setSourceRenderSize 메소드에 의해 설정되어 있는 경우, 복호화의 사이에 draw 되도록(듯이), 이미지의 폭과 높이를 돌려줍니다. |
void |
setDestination (BufferedImage destination)
복호화 되는 픽셀 데이터의 목적지로서 사용하는 BufferedImage 를 제공합니다. |
void |
setDestinationBands (int[] destinationBands)
데이터가 배치되고 있는 목적지 밴드의 인덱스를 설정합니다. |
void |
setDestinationType (ImageTypeSpecifier destinationType)
ImageTypeSpecifier 를 사용해, 이용하고 싶은 이미지 형식을 목적지 이미지로 설정합니다. |
void |
setSourceProgressivePasses (int minPass,
int numPasses)
복호화 되는 프로그래시브 패스의 범위를 설정합니다. |
void |
setSourceRenderSize (Dimension size)
이미지를 임의의 사이즈로 draw 할 수 있는 경우, 소스의 폭과 높이가 지정된 값으로 설정합니다. |
클래스 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 |
필드의 상세 |
---|
protected boolean canSetSourceRenderSize
ImageReadParam
가 소스의 draw 치수를 설정할 수 있는 경우는 true
입니다. 디폴트의 값은 false
입니다. 서브 클래스는 수동으로 이 값을 설정할 필요가 있습니다.
소스의 draw 사이즈의 설정을 지원하지 않는 ImageReader
는, 이 값을 false
로 설정할 필요가 있습니다.
protected Dimension sourceRenderSize
canSetSourceRenderSize
가 true
의 경우, 목적의 소스 draw의 폭과 높이입니다. 그렇지 않은 경우는 null
입니다.
소스의 draw 사이즈의 설정을 지원하지 않는 ImageReader
는, 이 값을 무시합니다.
protected BufferedImage destination
BufferedImage
, 또는 아무것도 설정되어 있지 않은 경우는 null
입니다. 디폴트의 값은 null
입니다.
protected int[] destinationBands
int
의 배열로서의, 사용하는 목적지 밴드세트입니다. 디폴트의 값은 null
입니다. 이것은, 모든 목적지 밴드가 차례로 기입해지는 것을 나타냅니다.
protected int minProgressivePass
서브 클래스는, 이 값이 부가 되지 않게 할 필요가 있습니다.
protected int numProgressivePasses
Integer.MAX_VALUE
로 설정됩니다. 이것은, 사용 가능한 마지막 패스까지 복호화 되는 것을 나타냅니다.
서브 클래스는, 이 값이 정말로 되도록(듯이) 할 필요가 있습니다. 게다가 이 값이 Integer.MAX_VALUE
가 아닌 경우,minProgressivePass + numProgressivePasses - 1
은 Integer.MAX_VALUE
를 넘어서는 안됩니다.
생성자 의 상세 |
---|
public ImageReadParam()
ImageReadParam
를 구축합니다.
메소드의 상세 |
---|
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
를 사용하는 경우에 중요합니다.
IIOParam
내의 setDestinationType
destinationType
- 목적지의 레이아웃과 칼라 타입을 결정하기 위해서(때문에)
사용하는 ImageTypeSpecifier
IIOParam.getDestinationType()
public void setDestination(BufferedImage destination)
BufferedImage
를 제공합니다. 현재 설정되어 있는 이미지는,read
,readAll
, 및 readRaster
메소드에 의해 기입해져 이것에 대한 참조는 이러한 메소드에 의해 돌려주어집니다.
상술의 메소드로부터의 픽셀 데이터는,getDestinationOffset
에 의해 지정되는 좌표의 개시시에 기입해집니다.
destination
가 null
의 경우, 새롭게 작성된 BufferedImage
는, 이러한 메소드에 의해 돌려주어집니다.
read시에, 이미지의 ColorModel
과 SampleModel
가,ImageReader
의 getImageTypes
메소드로부터 반환되는 ImageTypeSpecifier
의 1 개에 대응하는 것을 확인하기 위해서 검사됩니다. 대응하지 않는 경우, 읽기측은 IIOException
를 throw 합니다.
destination
- 기입해지는 BufferedImage, 또는
null
getDestination()
public BufferedImage getDestination()
setDestination
메소드에 의해 설정된 BufferedImage
, 또는 아무것도 설정되어 있지 않은 경우는 null
를 돌려줍니다.
setDestination(java.awt.image.BufferedImage)
public void setDestinationBands(int[] destinationBands)
값 null
는, 모든 목적지 밴드가 사용되고 있는 것을 나타냅니다.
목적지 밴드가 지정되지 않는 경우, 목적지 밴드의 부분집합의 선택은, 읽을 출력 이미지의 밴드수에 영향을 주지 않습니다. 작성되는 목적지 이미지는, 이 메소드가 불려 가지 않았는지와 같이, 같은 밴드수를 보관 유지합니다. 목적지 이미지에 다른 밴드수가 필요한 경우,ImageReadParam.setDestination
메소드를 사용해 이미지를 제공할 필요가 있습니다.
목적지 밴드의 최대 인덱스보다 큰 값이 지정되었을 경우, 또는 사용하는 소스 밴드의 수와 목적지 밴드의 수가 다른 경우, 읽어들여 또는 기입해 때에, 읽기측 또는 기입해 측에야는 IllegalArgumentException
가 throw 됩니다. ImageReader.checkReadParamBandSettings
메소드는, 이 테스트를 자동화하기 위해서 사용됩니다.
destinationBands
- 사용하는 정수형 밴드 인덱스의
배열
IllegalArgumentException
- destinationBands
가
부 또는 중복 하는 값을 보관 유지하는 경우getDestinationBands()
,
IIOParam.getSourceBands()
,
ImageReader.checkReadParamBandSettings(javax.imageio.ImageReadParam, int, int)
public int[] getDestinationBands()
null
가 돌려주어집니다.
null
setDestinationBands(int[])
public boolean canSetSourceRenderSize()
setSourceRenderSize
메소드에 의해, 소스 이미지를 임의의 사이즈로 draw 할 수 있도록(듯이) 하는 경우,true
를 돌려줍니다. 이 메소드가 false
를 돌려주는 경우,setSourceRenderSize
의 호출은 UnsupportedOperationException
를 throw 합니다.
true
setSourceRenderSize(java.awt.Dimension)
public void setSourceRenderSize(Dimension size) throws UnsupportedOperationException
ImageReader
의 getWidth
및 getHeight
메소드로부터 반환되는 값은, 이 메소드에 의해 영향을 받지 않는 것에 주의해 주세요. 이것들은, 계속 이미지의 디폴트의 사이즈를 돌려줍니다. 같이 이미지가 타일링 되는 경우도, 타일의 폭과 높이는 디폴트의 사이즈에 의해 지정됩니다.
일반적으로, 폭과 높이는, 폭과 높이의 비율이 ImageReader.getAspectRatio
로부터 반환되는 이미지의 종횡비와 정확하게 근사 하도록(듯이) 선택할 필요가 있습니다.
이 플러그 인으로 draw 사이즈의 설정을 할 수 없는 경우,UnsupportedOperationException
가 throw 됩니다.
draw 사이즈의 설정을 삭제하려면 ,size
에 값 null
를 건네줍니다.
size
- 바람직한 폭과 높이를 지정한다
Dimension
IllegalArgumentException
- 폭 또는 높이중 한쪽이
부 또는 0 의 경우
UnsupportedOperationException
- 이 플러그 인으로,
이미지의 사이즈 변경이 지원되지 않는 경우getSourceRenderSize()
,
ImageReader.getWidth(int)
,
ImageReader.getHeight(int)
,
ImageReader.getAspectRatio(int)
public Dimension getSourceRenderSize()
setSourceRenderSize
메소드에 의해 설정되어 있는 경우, 복호화의 사이에 draw 되도록(듯이), 이미지의 폭과 높이를 돌려줍니다. 값 null
는, 아무것도 설정을 하지 않은 것을 나타냅니다.
Dimension
로서의,
소스 이미지의 draw 되는 폭과 높이setSourceRenderSize(java.awt.Dimension)
public void setSourceProgressivePasses(int minPass, int numPasses)
프로그래시브 패스는, 일반적으로 단계적으로 높아지는 실효 해상도로 이미지 전체를 재복호화 합니다. 다만, 이 경우보다 큰 전송 대역폭이 필요하게 됩니다. 무엇보다 일반적인 프로그래시브 인코딩이 사용되는 것은, JPEG 형식의 경우입니다. 이 경우, 연속하는 패스에, 보다 상세한 고주파 이미지 컨텐츠의 표현이 포함됩니다.
복호화 되는 실제의 패스의 수는, 스트림로 사용 가능한 실제의 패스의 수에 근거해, 복호화시로 결정됩니다. 따라서,minPass + numPasses - 1
이 사용 가능한 마지막 패스의 인덱스보다 큰 경우, 복호화는 그 패스로 종료합니다.
Integer.MAX_VALUE
의 numPasses
의 값은,minPass
보다 전방의 모든 패스가 읽어내지는 것을 나타냅니다. 그렇지 않은 경우, 마지막 패스의 인덱스 (즉,minPass + numPasses - 1
)는 Integer.MAX_VALUE
를 넘어서는 안됩니다.
unsetSourceProgressivePasses
메소드는 없습니다. setSourceProgressivePasses(0, Integer.MAX_VALUE)
의 호출에 의해, 같은 효과를 얻을 수 있습니다.
minPass
- 복호화 되는 최초의 패스의 인덱스numPasses
- 복호화 되는 패스의 최대수
IllegalArgumentException
- minPass
가 부,
numPasses
가 부 또는 0, 또는
numPasses
가
Integer.MAX_VALUE
보다 작고,minPass +
numPasses - 1
이
INTEGER.MAX_VALUE
보다 큰 경우getSourceMinProgressivePass()
,
getSourceMaxProgressivePass()
public int getSourceMinProgressivePass()
setSourceProgressivePasses(int, int)
,
getSourceNumProgressivePasses()
public int getSourceMaxProgressivePass()
getSourceNumProgressivePasses
가 Integer.MAX_VALUE
와 동일한 경우,Integer.MAX_VALUE
를 돌려줍니다. 그 이외의 경우,getSourceMinProgressivePass() + getSourceNumProgressivePasses() - 1
을 돌려줍니다.
Integer.MAX_VALUE
public int getSourceNumProgressivePasses()
Integer.MAX_VALUE
가 돌려주어집니다.
setSourceProgressivePasses(int, int)
,
getSourceMinProgressivePass()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.