|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
java.lang.Objectjavax.imageio.IIOParam
public abstract class IIOParam
스트림을 디코드 또는 encode 하는 방법을 기술하는, 모든 클래스의 슈퍼 클래스입니다. 이 클래스는,ImageReadParam
와 ImageWriteParam
로 공유되는 모든 변수와 메소드를 보관 유지합니다.
이 클래스는, 소스 영역 및 목적지 영역을 지정하는 기구를 제공합니다. read시에는, 소스가 스트림이 되어, 메모리내 이미지가 목적지가 됩니다. 기입시에는, 그 거꾸로 됩니다. 기입의 경우, 목적지 영역은 픽셀의 치환을 지원하는 라이터인 만큼 사용됩니다.
솎아냄 서브 샘플링은, 이동 가능한 서브 샘플링 구라두를 사용해 리더와 라이터의 양쪽 모두로 지정됩니다.
소스와 목적지 밴드의 부분집합을 선택할 수 있습니다.
필드의 개요 | |
---|---|
protected IIOParamController |
controller
activateController 메소드가 불려 갔을 때에, 이 IIOParam 객체의 설정을 지정하기 위해서 사용하는 IIOParamController 입니다. |
protected IIOParamController |
defaultController
activateController 메소드가 불려 갔을 때에, 이 IIOParam 객체의 설정을 지정하기 위해서 사용하는 디폴트의 IIOParamController 입니다. |
protected Point |
destinationOffset
좌상구석의 디코드된 픽셀이 배치되는 목적지의 오프셋(offset)입니다. |
protected ImageTypeSpecifier |
destinationType
read시에 목적지의 이미지를 생성한다, 또는 기입해 때에 출력의 칼라 타입을 설정하기 위해서 사용하는 ImageTypeSpecifier 입니다. |
protected int[] |
sourceBands
사용하는 소스 밴드를 나타내는 int 배열, 또는 null 입니다. |
protected Rectangle |
sourceRegion
소스 영역, 또는 아무것도 설정되지 않는 경우는 null 와리. |
protected int |
sourceXSubsampling
수평 방향으로 적용되는 솎아냄 서브 샘플링입니다. |
protected int |
sourceYSubsampling
수직 방향으로 적용되는 솎아냄 서브 샘플링입니다. |
protected int |
subsamplingXOffset
서브 샘플링 하기 전에 서브 샘플링 구라두에 적용되는 수평 방향의 오프셋(offset)입니다. |
protected int |
subsamplingYOffset
서브 샘플링 하기 전에 서브 샘플링 구라두에 적용되는 수직 방향의 오프셋(offset)입니다. |
생성자 의 개요 | |
---|---|
protected |
IIOParam ()
protected 생성자 은, 서브 클래스에만 따라 불려 갑니다. |
메소드의 개요 | |
---|---|
boolean |
activateController ()
이 IIOParam 객체에 대해서 인스톨 되고 있는 IIOParamController 를 액티브하게 해, 결과의 값을 돌려줍니다. |
IIOParamController |
getController ()
IIOParamController 가 현재 인스톨 되고 있는 것은 뭐든지 돌려줍니다. |
IIOParamController |
getDefaultController ()
디폴트의 IIOParamController 가 있는 경우는, 현재 인스톨 되고 있는 콘트롤러와는 관계없이, 이것을 돌려줍니다. |
Point |
getDestinationOffset ()
픽셀이 배치되는 목적지 이미지의 오프셋(offset)를 돌려줍니다. |
ImageTypeSpecifier |
getDestinationType ()
ImageTypeSpecifier 로서setDestination(ImageTypeSpecifier) 의 호출에 의해 설정되었을 경우, read에 의해 반환되는 이미지의 타입을 돌려줍니다. |
int[] |
getSourceBands ()
사용하는 소스 밴드세트를 돌려줍니다. |
Rectangle |
getSourceRegion ()
사용하는 소스 영역을 돌려줍니다. |
int |
getSourceXSubsampling ()
픽셀 마다 떠오르는 소스열의 수를 돌려줍니다. |
int |
getSourceYSubsampling ()
픽셀 마다 떠오르는 소스행의 수를 돌려줍니다. |
int |
getSubsamplingXOffset ()
서브 샘플링 구라두의 수평 방향의 오프셋(offset)를 돌려줍니다. |
int |
getSubsamplingYOffset ()
서브 샘플링 구라두의 수직 방향의 오프셋(offset)를 돌려줍니다. |
boolean |
hasController ()
이 IIOParam 객체에 인스톨 된 콘트롤러가 있는 경우는 true 를 돌려줍니다. |
void |
setController (IIOParamController controller)
activateController 메소드를 호출해, 디폴트 콘트롤러를 오버라이드(override) 할 경우에, 이 IIOParam 객체의 설정을 지정하기 위해서 사용하는 IIOParamController 를 설정합니다. |
void |
setDestinationOffset (Point destinationOffset)
read시의 경우는, 장래 디코드되는 픽셀이 배치되는 오프셋(offset), 기입시의 경우는, 영역이 기입해지는 오프셋(offset)를 목적지 이미지로 지정합니다. |
void |
setDestinationType (ImageTypeSpecifier destinationType)
ImageTypeSpecifier 를 사용해, 이용하고 싶은 이미지 형식을 목적지 이미지로 설정합니다. |
void |
setSourceBands (int[] sourceBands)
사용하는 소스 밴드의 인덱스를 설정합니다. |
void |
setSourceRegion (Rectangle sourceRegion)
처리 대상의 소스 영역을 설정합니다. |
void |
setSourceSubsampling (int sourceXSubsampling,
int sourceYSubsampling,
int subsamplingXOffset,
int subsamplingYOffset)
솎아냄 서브 샘플링을 지정해 입출력에 적용합니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
필드의 상세 |
---|
protected Rectangle sourceRegion
null
와리.
protected int sourceXSubsampling
1
입니다. 값은 반드시, 정말로 해 주세요.
protected int sourceYSubsampling
1
입니다. 값은 반드시, 정말로 해 주세요.
protected int subsamplingXOffset
protected int subsamplingYOffset
protected int[] sourceBands
int
배열, 또는 null
입니다. null
의 경우, 사용하는 소스 밴드세트는 setSourceBands
메소드의 코멘트에 기술되고 있는 대로입니다. 0 보다 작은 값은 사용할 수 없습니다.
protected ImageTypeSpecifier destinationType
ImageTypeSpecifier
입니다. 아무것도 설정되어 있지 않은 경우, 값은 null
가 됩니다. 디폴트의 값은 null
입니다.
protected Point destinationOffset
protected IIOParamController defaultController
activateController
메소드가 불려 갔을 때에, 이 IIOParam
객체의 설정을 지정하기 위해서 사용하는 디폴트의 IIOParamController
입니다. 이 디폴트는 서브 클래스에서 설정합니다. 서브 클래스는 그 자체의 파라미터 설정용의 디폴트 콘트롤러 (일반적으로은 GUI)를 제공합니다.
IIOParamController
,
getDefaultController()
,
activateController()
protected IIOParamController controller
activateController
메소드가 불려 갔을 때에, 이 IIOParam
객체의 설정을 지정하기 위해서 사용하는 IIOParamController
입니다. 이 값은 null 의 경우를 포함한 모든 디폴트 콘트롤러를 오버라이드(override) 합니다.
IIOParamController
,
setController(IIOParamController)
,
hasController()
,
activateController()
생성자 의 상세 |
---|
protected IIOParam()
메소드의 상세 |
---|
public void setSourceRegion(Rectangle sourceRegion)
setSourceSubsampling
로 설정되는 서브 샘플링 계수에 의합니다. 서브 샘플링의 수가 제로가 되도록(듯이) 설정되었을 경우,IllegalStateException
가 throw 됩니다.
이 메소드에 의해 지정된 처리 대상의 소스 영역은, 실제의 입출력시의 목적지의 오프셋(offset), 폭, 및 높이와 함께 소스의 경계내에 막 들어가도록(듯이) 클립 됩니다.
sourceRegion
의 값 null
는 임의의 영역의 지정을 삭제해, 이미지 전체를 사용할 수 있도록(듯이) 합니다.
sourceRegion
- 처리 대상의 소스 영역을 지정하는 Rectangle
또는 null
IllegalArgumentException
- sourceRegion
가
null
이외의 경우로,
sourceRegion.x
와 sourceRegion.y
중 한쪽이
부의 경우
IllegalArgumentException
- sourceRegion
가
null
이외의 경우로,
sourceRegion.width
와
sourceRegion.height
중 한쪽이 부 또는 0 때
IllegalStateException
- 영역이 솎아냄 된 폭 또는 높이 제로를 가지는 것 같은,
서브 샘플링의 경우getSourceRegion()
,
setSourceSubsampling(int, int, int, int)
,
setDestinationOffset(java.awt.Point)
,
getDestinationOffset()
public Rectangle getSourceRegion()
setSourceRegion
의 직전의 호출에 의해 설정된 값입니다. 영역 세트가 없는 경우는 null
가 됩니다.
Rectangle
로서의 처리 대상 소스 영역,
또는 null
setSourceRegion(java.awt.Rectangle)
public void setSourceSubsampling(int sourceXSubsampling, int sourceYSubsampling, int subsamplingXOffset, int subsamplingYOffset)
sourceXSubsampling
및 sourceYSubsampling
파라미터는, 서브 샘플링 주기, 즉 모든 소스 픽셀의 후에 떠오르는 행과 열의 수를 지정합니다. 특히, 주기 1 은 모든 행 또는 열을 사용해, 주기 2 는 1 개 간격으로 행 또는 열을 사용합니다. subsamplingXOffset
및 subsamplingYOffset
파라미터는, 최초로 솎아냄 된 픽셀의 영역 또는 이미지의 기점으로부터의 오프셋(offset)를 지정합니다. 매우 큰 소스 이미지를, 솎아냄 된 완전한 이미지에 조립할 수 있는 목적지 영역에 서브 샘플링 하는 경우, 서브 샘플 구라두의 기점을 조정하면(자), 연결고리를 피하는데 도움이 됩니다. 일반적으로은, 이러한 파라미터는 0 대로 해 둡니다.
사용하는 픽셀수와 주사선의 수는 다음과 같이 계산됩니다.
주사선의 솎아냄 된 픽셀의 수는, 다음의 수식에서 주어집니다.
truncate[(width - subsamplingXOffset + sourceXSubsampling - 1) / sourceXSubsampling]
폭이 제로인 것 같은 영역의 경우,IllegalStateException
가 throw 됩니다.
사용하는 주사선의 수는 똑같이 계산됩니다.
서브 샘플링 구라두를, 소스 영역의 원점 이외의 장소로부터 기동시키는 설정은, 큰 이미지의 솎아냄 된 타일을 작성하기 위해서 영역이 사용되는 경우에 도움이 됩니다. 여기에서는, 타일의 폭과 높이는 서브 샘플링 주기의 배수가 아닙니다. 서브 샘플링 구라두가 타일간의 일관성을 유지하고 있지 않는 경우, 타일의 경계에 아티팩트가 생깁니다. 각 타일의 서브 샘플링 구라두의 오프셋(offset)를 조정해 보정하는 것으로써, 이러한 아티팩트를 회피할 수 있습니다. 다만, 아티팩트를 회피하기 위해서는, 모든 타일을 같은 사이즈에는 할 수 없습니다. 이 경우에 사용하는 구라두 오프셋(offset)는 다음의 수식에서 얻을 수 있습니다.
grid offset = [period - (region offset modulo period)] modulo period)
sourceXSubsampling
또는 sourceYSubsampling
중 한쪽이 0 또는 부의 경우,IllegalArgumentException
가 throw 됩니다.
subsamplingXOffset
또는 subsamplingYOffset
중 한쪽이 부, 혹은 대응하는 주기보다 큰가 동일한 경우,IllegalArgumentException
가 throw 됩니다.
unsetSourceSubsampling
메소드는 없습니다. 단지 setSourceSubsampling(1, 1, 0, 0)
를 호출해 디폴트 값를 복원합니다.
sourceXSubsampling
- 픽셀 사이에 떠오른다
렬수sourceYSubsampling
- 픽셀 사이에 떠오른다
행수subsamplingXOffset
- 영역내, 또는 영역이 설정되어 있지 않은 경우는
이미지내의 최초의 서브 샘플의 수평 방향의 오프셋(offset)subsamplingYOffset
- 영역내, 또는 영역이 설정되어 있지 않은 경우는
이미지내의 최초의 서브 샘플의 수평 방향의 오프셋(offset)
IllegalArgumentException
- 몇개의 주기가
부 또는 0 의 경우,
또는 구라두의 오프셋(offset)가 부나 대응하는 주기보다 큰 경우
IllegalStateException
- 솎아냄 된 출력이 픽셀을 보관 유지하고 있지 않는 것 같은,
소스 영역의 경우public int getSourceXSubsampling()
setSourceSubsampling
가 불려 가지 않았던 경우, 올바른 값 1 이 돌려주어집니다.
setSourceSubsampling(int, int, int, int)
,
getSourceYSubsampling()
public int getSourceYSubsampling()
setSourceSubsampling
가 불려 가지 않았던 경우, 올바른 값 1 이 돌려주어집니다.
setSourceSubsampling(int, int, int, int)
,
getSourceXSubsampling()
public int getSubsamplingXOffset()
setSourceSubsampling
가 불려 가지 않았던 경우, 올바른 값 0 이 돌려주어집니다.
setSourceSubsampling(int, int, int, int)
,
getSubsamplingYOffset()
public int getSubsamplingYOffset()
setSourceSubsampling
가 불려 가지 않았던 경우, 올바른 값 0 이 돌려주어집니다.
setSourceSubsampling(int, int, int, int)
,
getSubsamplingXOffset()
public void setSourceBands(int[] sourceBands)
값 null
는, 모든 소스 밴드가 사용되는 것을 나타냅니다.
사용 가능한 최대 소스 밴드 인덱스보다 큰 값이 지정되었을 경우, 또는 사용하는 소스 밴드와 목적지 밴드의 수가 다른 경우,IllegalArgumentException
는, read시에 리더 또는 라이터에 의해 throw 됩니다. 이 테스트를 자동화하기 위해서,ImageReader.checkReadParamBandSettings
메소드가 사용됩니다.
의미상에서는, 카피는 배열로부터 작성됩니다. 이 호출의 후에, 배열의 내용이 변경되어도,IIOParam
에는 무슨 영향도 없습니다.
sourceBands
- 사용하는 정수형 밴드 인덱스의
배열
IllegalArgumentException
- sourceBands
가
부 또는 중복 하는 값을 보관 유지하는 경우getSourceBands()
,
ImageReadParam.setDestinationBands(int[])
,
ImageReader.checkReadParamBandSettings(javax.imageio.ImageReadParam, int, int)
public int[] getSourceBands()
setSourceBands
의 호출에 의해 설정된 값, 또는 setSourceBands
를 호출하지 않았던 경우는 null
입니다.
의미상에서는, 반환되는 배열은 카피입니다. 이 호출의 후에, 배열의 내용이 변경되어도,IIOParam
에는 무슨 영향도 없습니다.
null
setSourceBands(int[])
public void setDestinationType(ImageTypeSpecifier destinationType)
ImageTypeSpecifier
를 사용해, 이용하고 싶은 이미지 형식을 목적지 이미지로 설정합니다.
read시에, 이 메소드를 사용해 목적지의 레이아웃이 설정되었을 경우,ImageReader
read
메소드의 각 호출은, 주어진 타입의 지시자에 의해 지정된 형식을 사용해, 새로운 BufferedImage
를 돌려줍니다. 부작용으로서ImageReadParam.setDestination(BufferedImage)
에 의해 설정되는 모든 목적지 BufferedImage
는, 목적지로서 설정되지 않게 됩니다. 바꾸어 말하면(자), 이 메소드는 setDestination((BufferedImage) null)
의 호출이라고 생각할 수도 있습니다.
기입시에, 목적지의 타입은 이미지의 칼라 타입을 결정하기 위해서(때문에) 사용되는 경우가 있습니다. SampleModel
정보는 무시되어,null
가 됩니다. 예를 들어, 4 밴드의 이미지는 CMYK 또는 RGBA 데이터의 어느쪽이든으로 나타낼 수 있습니다. 목적지의 타입이 설정되었을 경우, 그 ColorModel
는 이미지 자체에 있는 모든 ColorModel
를 오버라이드(override) 합니다. 이것은, 이미지의 ColorModel
가, 기입해진 밴드의 부분집합은 아니고 이미지 전체를 참조하므로,setSourceBands
를 사용하는 경우에 중요합니다.
destinationType
- 목적지의 레이아웃과 칼라 타입을 결정하기 위해서(때문에)
사용하는 ImageTypeSpecifier
getDestinationType()
public ImageTypeSpecifier getDestinationType()
ImageTypeSpecifier
로서setDestination(ImageTypeSpecifier)
의 호출에 의해 설정되었을 경우, read에 의해 반환되는 이미지의 타입을 돌려줍니다. 설정되지 않았던 경우,null
가 돌려주어집니다.
ImageTypeSpecifier
,
또는 null
setDestinationType(javax.imageio.ImageTypeSpecifier)
public void setDestinationOffset(Point destinationOffset)
read시에,BufferedImage
목적지내에 기입해지는 영역은, 이 오프셋(offset)로 개시해, 처리 대상의 소스 영역, 서브 샘플링 파라미터, 및 목적지의 경계에 의해 결정되는 폭과 높이를 가집니다.
일반적으로의 기입은, 이 메소드의 영향을 받지 않습니다. ImageWriter.replacePixels
를 사용해 실행되는 기입만이 영향을 받습니다. 이러한 기입의 경우, 지정된 오프셋(offset)는 픽셀이 변경되는 출력 스트림 이미지내에 있습니다.
unsetDestinationOffset
메소드는 존재하지 않습니다. 단지 setDestinationOffset(new Point(0, 0))
를 호출해 디폴트 값를 복원합니다.
destinationOffset
- Point
로서의,
목적지의 오프셋(offset)
IllegalArgumentException
- destinationOffset
가
null
의 경우getDestinationOffset()
,
ImageWriter.replacePixels(java.awt.image.RenderedImage, javax.imageio.ImageWriteParam)
public Point getDestinationOffset()
setDestinationOffsets
가 불려 가지 않았던 경우, X 및 Y 의 값이 제로의 Point
가 돌려주어집니다. 이것은 올바른 값입니다.
Point
로서의, 목적지의 오프셋(offset)setDestinationOffset(java.awt.Point)
public void setController(IIOParamController controller)
activateController
메소드를 호출해, 디폴트 콘트롤러를 오버라이드(override) 할 경우에, 이 IIOParam
객체의 설정을 지정하기 위해서 사용하는 IIOParamController
를 설정합니다. 인수가 null
의 경우는, 디폴트의 콘트롤러를 포함해 어느 콘트롤러도 사용되지 않습니다. 디폴트의 콘트롤러를 복원하려면 ,setController(getDefaultController())
를 사용합니다.
controller
- 적절한
IIOParamController
, 또는 null
IIOParamController
,
getController()
,
getDefaultController()
,
hasController()
,
activateController()
public IIOParamController getController()
IIOParamController
가 현재 인스톨 되고 있는 것은 뭐든지 돌려줍니다. 반환되는 값은, 디폴트가 존재하는 경우는 디폴트이며,null
, 또는 마지막 setController
호출의 인수인 경우도 있습니다.
IIOParamController
, 또는 null
IIOParamController
,
setController(javax.imageio.IIOParamController)
,
getDefaultController()
,
hasController()
,
activateController()
public IIOParamController getDefaultController()
IIOParamController
가 있는 경우는, 현재 인스톨 되고 있는 콘트롤러와는 관계없이, 이것을 돌려줍니다. 디폴트 콘트롤러가 없는 경우는,null
를 돌려줍니다.
IIOParamController
,
또는 null
IIOParamController
,
setController(IIOParamController)
,
getController()
,
hasController()
,
activateController()
public boolean hasController()
IIOParam
객체에 인스톨 된 콘트롤러가 있는 경우는 true
를 돌려줍니다. getController
가 null
를 돌려주지 않는 경우는 true
를 돌려줍니다.
true
IIOParamController
,
setController(IIOParamController)
,
getController()
,
getDefaultController()
,
activateController()
public boolean activateController()
IIOParam
객체에 대해서 인스톨 되고 있는 IIOParamController
를 액티브하게 해, 결과의 값을 돌려줍니다. 이 메소드가 true
를 돌려주는 경우, 이 IIOParam
객체의 모든 값은 다음의 읽어들여 또는 기입해 조작으로 사용할 준비가 되어 있습니다. false
가 반환되는 경우는, 이 객체내의 설정치에의 영향은 없습니다. 즉, 사용자에 의해 조작이 삭제되었습니다.
일반적으로의 콘트롤러는, 지정된 플러그 인의 IIOParam
의 서브 클래스에 대한 사용자 인터페이스를 제공하는 GUI 입니다. 다만, 콘트롤러는 GUI 일 필요는 없습니다.
true
IllegalStateException
- 콘트롤러가
현재 인스톨되어 있지 않은 경우IIOParamController
,
setController(IIOParamController)
,
getController()
,
getDefaultController()
,
hasController()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.