public abstract class ImageReader extends Object
ImageReader
オブジェクトは、通常、特定の形式のサービスプロバイダインタフェース (SPI) によってインスタンス化されます。ImageReaderSpi
インスタンスなどのサービスプロバイダクラスは、それらのクラスの形式の認識と、使用可能な形式の読み取り側と書き込み側の表示に使用する IIORegistry
に登録されます。
入力ソースが setInput
メソッドを使用して設定される場合、「順方向検索だけ」として指定されます。この設定は、以前に読み取られたイメージと関連付けられたデータを保持する入力部分のキャッシュを回避するために、入力ソースに保持されるイメージが順番に読み取られるだけであることを意味します。
ImageWriter
, IIORegistry
, ImageReaderSpi
修飾子と型 | フィールドと説明 |
---|---|
protected Locale[] |
availableLocales
警告メッセージのローカライズに使用する
Locale の配列、またはローカライズ版がサポートされていない場合は null です。 |
protected boolean |
ignoreMetadata
現在の入力ソースが、
setInput によってメタデータが無視されるように指定されている場合は true です。 |
protected Object |
input
ImageInputStream または setInput が設定して、getInput が取り出したその他の Object です。 |
protected Locale |
locale
ローカライズ版に使用する現在の
Locale 、または設定されていない場合は null です。 |
protected int |
minIndex
読み込み用の最小有効インデックスは、初期状態で 0 です。
|
protected ImageReaderSpi |
originatingProvider
このオブジェクトをインスタンス化する
ImageReaderSpi 、または識別情報が不明であるか存在しない場合は null です。 |
protected List<IIOReadProgressListener> |
progressListeners
現在登録されている各
IIOReadProgressListener の List です。デフォルトでは null に初期化され、空の List と同じ意味になります。 |
protected boolean |
seekForwardOnly
現在の入力ソースが、
setInput による順方向検索だけが可能となるように指定されている場合は true です。 |
protected List<IIOReadUpdateListener> |
updateListeners
現在登録されている各
IIOReadUpdateListener の List です。デフォルトでは null に初期化され、空の List と同じ意味になります。 |
protected List<IIOReadWarningListener> |
warningListeners
現在登録されている各
IIOReadWarningListener の List です。デフォルトでは null に初期化され、空の List と同じ意味になります。 |
protected List<Locale> |
warningLocales
現在登録されている各
IIOReadWarningListener に関連付けられた Locale の List です。デフォルトでは null に初期化され、空の List と同じ意味になります。 |
修飾子 | コンストラクタと説明 |
---|---|
protected |
ImageReader(ImageReaderSpi originatingProvider)
ImageReader を構築し、originatingProvider フィールドを、指定された値に設定します。 |
修飾子と型 | メソッドと説明 |
---|---|
void |
abort()
現在の読み込みオペレーションの中断を要求します。
|
protected boolean |
abortRequested()
読み取り側がインスタンス化されたか、または
clearAbortRequest が呼び出されたため、現在の読み込みオペレーションを中断するリクエストが行われた場合、true を返します。 |
void |
addIIOReadProgressListener(IIOReadProgressListener listener)
登録された進捗リスナーのリストに
IIOReadProgressListener を追加します。 |
void |
addIIOReadUpdateListener(IIOReadUpdateListener listener)
IIOReadUpdateListener を、登録された更新リスナーのリストに追加します。 |
void |
addIIOReadWarningListener(IIOReadWarningListener listener)
登録された警告リスナーのリストに
IIOReadWarningListener を追加します。 |
boolean |
canReadRaster()
このプラグインがピクセルデータの
だけの読み込みをサポートする場合、true を返します。 |
protected static void |
checkReadParamBandSettings(ImageReadParam param, int numSrcBands, int numDstBands)
ImageReadParam のソースおよびデスティネーションのバンド設定の有効性を判定するために、読み取り側が使用するユーティリティーメソッドです。 |
protected void |
clearAbortRequest()
以前の中断リクエストをクリアします。
|
protected static void |
computeRegions(ImageReadParam param, int srcWidth, int srcHeight, BufferedImage image, Rectangle srcRegion, Rectangle destRegion)
ソースイメージの幅と高さ、オプションのデスティネーションイメージ、およびオプションの
ImageReadParam を考慮して、対象のソース領域および対象のデスティネーション領域を計算します。 |
void |
dispose()
このオブジェクトが保持するすべてのリソースを解放できるようにします。
|
float |
getAspectRatio(int imageIndex)
指定されたイメージの縦横比 (つまり、幅を高さで割った値) を
float で返します。 |
Locale[] |
getAvailableLocales()
警告リスナーと圧縮設定のローカライズに使用する
Locale の配列を返します。 |
ImageReadParam |
getDefaultReadParam()
この形式に対して適切なデフォルトの
ImageReadParam オブジェクトを返します。 |
protected static BufferedImage |
getDestination(ImageReadParam param, Iterator<ImageTypeSpecifier> imageTypes, int width, int height)
復号化されたピクセルデータが書き込まれる
BufferedImage を返します。 |
String |
getFormatName()
入力ソースの形式を識別する
String を返します。 |
abstract int |
getHeight(int imageIndex)
入力ソースの指定されたイメージの高さをピクセル単位で返します。
|
abstract IIOMetadata |
getImageMetadata(int imageIndex)
指定されたイメージに関連付けられたメタデータを保持する
IIOMetadata オブジェクトを返します。または、読み取り側がメタデータを無視するよう設定され、メタデータの読み込みをサポートしていない場合、あるいはメタデータが使用できない場合は null を返します。 |
IIOMetadata |
getImageMetadata(int imageIndex, String formatName, Set<String> nodeNames)
指定されたイメージに関連付けられたメタデータを表す
IIOMetadata オブジェクトを返します。読み取り側がメタデータの読み込みをサポートしていない場合、あるいはメタデータを使用できない場合は null を返します。 |
abstract Iterator<ImageTypeSpecifier> |
getImageTypes(int imageIndex)
ImageTypeSpecifiers の形式で指定されたイメージが復号化されるイメージ型を含む Iterator を返します。 |
Object |
getInput()
ImageInputStream または以前に入力ソースとして設定されたほかの Object を返します。 |
Locale |
getLocale()
現在設定されている
Locale 、何も設定されていない場合は null を返します。 |
int |
getMinIndex()
イメージ、サムネール、またはイメージメタデータの読み込みに対して有効な、最小のインデックスを返します。
|
abstract int |
getNumImages(boolean allowSearch)
現在の入力ソースから、サムネールを除く使用可能なイメージの数を返します。
|
int |
getNumThumbnails(int imageIndex)
指定されたイメージに関連付けられたサムネールプレビューイメージの数を返します。
|
ImageReaderSpi |
getOriginatingProvider()
このコンストラクタに渡された
ImageReaderSpi を返します。 |
ImageTypeSpecifier |
getRawImageType(int imageIndex)
イメージの raw 内部形式にもっとも近い形式を表す
SampleModel と ColorModel を示して、ImageTypeSpecifier を返します。 |
protected static Rectangle |
getSourceRegion(ImageReadParam param, int srcWidth, int srcHeight)
指定された
ImageReadParam のソース領域とサブサンプリングの座標の設定を考慮して、読み取り側が読み取るソースイメージの領域を計算するために使用するユーティリティーメソッドです。 |
abstract IIOMetadata |
getStreamMetadata()
入力ソースに全体として関連付けられた、つまり特定のイメージに関連付けられていないメタデータを表す
IIOMetadata オブジェクトを返します。または、読み取り側がメタデータを無視するよう設定され、メタデータの読み込みをサポートしていない場合、あるいはメタデータが使用できない場合は null を返します。 |
IIOMetadata |
getStreamMetadata(String formatName, Set<String> nodeNames)
入力ソースに全体として関連付けられた、つまり特定のイメージに関連付けられていないメタデータを表す
IIOMetadata オブジェクトを返します。 |
int |
getThumbnailHeight(int imageIndex, int thumbnailIndex)
thumbnailIndex によってインデックスを付けられたサムネールプレビューイメージの高さを返します。このイメージは ImageIndex によってインデックスを付けられたイメージに関連付けられています。 |
int |
getThumbnailWidth(int imageIndex, int thumbnailIndex)
thumbnailIndex によってインデックスを付けられたサムネールプレビューイメージの幅を返します。このイメージは ImageIndex によってインデックスを付けられたイメージに関連付けられています。 |
int |
getTileGridXOffset(int imageIndex)
指定されたイメージのタイル (0, 0) の左上隅の X 座標を返します。
|
int |
getTileGridYOffset(int imageIndex)
指定されたイメージのタイル (0, 0) の左上隅の Y 座標を返します。
|
int |
getTileHeight(int imageIndex)
指定されたイメージのタイルの高さを返します。
|
int |
getTileWidth(int imageIndex)
指定されたイメージのタイルの幅を返します。
|
abstract int |
getWidth(int imageIndex)
入力ソースの指定されたイメージの幅をピクセル単位で返します。
|
boolean |
hasThumbnails(int imageIndex)
指定されたイメージが、それに関連付けられたサムネールプレビューイメージを持つ場合、
true を返します。 |
boolean |
isIgnoringMetadata()
現在の入力ソースが、
setInput メソッドの ignoreMetadata 引数として true を渡すことにより、メタデータを無視できるように指定されている場合は true を返します。 |
boolean |
isImageTiled(int imageIndex)
イメージがタイル、つまりオーバーラップしない等しいサイズの矩形に組み入れられる場合は
true を返します。 |
boolean |
isRandomAccessEasy(int imageIndex)
ピクセルへのランダムアクセスに関して、指定されたイメージの格納形式に固有の障害が何もない場合は
true を返します。 |
boolean |
isSeekForwardOnly()
現在の入力ソースが、
setInput メソッドの seekForwardOnly 引数として true を渡すことにより、順方向検索だけで実施と指定されている場合は true を返します。 |
protected void |
processImageComplete()
登録されたすべての
IIOReadProgressListener に対し、その imageComplete メソッドを呼び出すことで、イメージ読み込みの完了を通知します。 |
protected void |
processImageProgress(float percentageDone)
登録されたすべての
IIOReadProgressListener に対し、その imageProgress メソッドを呼び出すことで、イメージ完成の現在の割合を通知します。 |
protected void |
processImageStarted(int imageIndex)
登録されたすべての
IIOReadProgressListener に対し、その imageStarted メソッドを呼び出すことで、イメージ読み込みの開始を通知します。 |
protected void |
processImageUpdate(BufferedImage theImage, int minX, int minY, int width, int height, int periodX, int periodY, int[] bands)
登録されたすべての
IIOReadUpdateListener に対し、その imageUpdate メソッドを呼び出すことで、サンプルのセットの更新を通知します。 |
protected void |
processPassComplete(BufferedImage theImage)
登録されたすべての
IIOReadUpdateListener に対し、その passComplete メソッドを呼び出すことで、プログレッシブパスの終了を通知します。 |
protected void |
processPassStarted(BufferedImage theImage, int pass, int minPass, int maxPass, int minX, int minY, int periodX, int periodY, int[] bands)
登録されたすべての
IIOReadUpdateListener に対し、その passStarted メソッドを呼び出すことで、プログレッシブパスの開始を通知します。 |
protected void |
processReadAborted()
readAborted メソッドを呼び出すことで、読み込みが中断されたことを、登録されたすべての IIOReadProgressListener に通知します。 |
protected void |
processSequenceComplete()
登録されたすべての
IIOReadProgressListener に対し、その sequenceComplete メソッドを呼び出すことで、イメージ読み込みのシーケンスの完了を通知します。 |
protected void |
processSequenceStarted(int minIndex)
登録されたすべての
IIOReadProgressListener に対し、その sequenceStarted メソッドを呼び出すことで、イメージ読み込みのシーケンスの開始を通知します。 |
protected void |
processThumbnailComplete()
登録されたすべての
IIOReadProgressListener に対し、その thumbnailComplete メソッドを呼び出すことで、サムネール読み込みの完了を通知します。 |
protected void |
processThumbnailPassComplete(BufferedImage theThumbnail)
登録されたすべての
IIOReadUpdateListener に対し、thumbnailPassComplete メソッドを呼び出すことで、サムネールのプログレッシブパスの終了を通知します。 |
protected void |
processThumbnailPassStarted(BufferedImage theThumbnail, int pass, int minPass, int maxPass, int minX, int minY, int periodX, int periodY, int[] bands)
登録されたすべての
IIOReadUpdateListener に対し、その thumbnailPassStarted メソッドを呼び出すことで、サムネールのプログレッシブパスの開始を通知します。 |
protected void |
processThumbnailProgress(float percentageDone)
登録されたすべての
IIOReadProgressListener に対し、その thumbnailProgress メソッドを呼び出すことで、サムネール完成の現在の割合を通知します。 |
protected void |
processThumbnailStarted(int imageIndex, int thumbnailIndex)
登録されたすべての
IIOReadProgressListener に対し、その thumbnailStarted メソッドを呼び出すことで、サムネール読み込みの開始を通知します。 |
protected void |
processThumbnailUpdate(BufferedImage theThumbnail, int minX, int minY, int width, int height, int periodX, int periodY, int[] bands)
登録されたすべての
IIOReadUpdateListener に対し、その thumbnailUpdate メソッドを呼び出すことで、サムネールイメージのサンプルのセットの更新を通知します。 |
protected void |
processWarningOccurred(String warning)
warningOccurred メソッドを呼び出すことで、警告メッセージを、登録されたすべての IIOReadWarningListener に通知します。 |
protected void |
processWarningOccurred(String baseName, String keyword)
ResourceBundle から取得した文字列を持つ warningOccurred メソッドを呼び出すことで、ローカライズされた警告メッセージを、登録されたすべての IIOReadWarningListener に通知します。 |
BufferedImage |
read(int imageIndex)
imageIndex によってインデックスを付けられたイメージを読み込み、デフォルトの ImageReadParam を使用して、完全な BufferedImage として返します。 |
abstract BufferedImage |
read(int imageIndex, ImageReadParam param)
imageIndex によってインデックスを付けられたイメージを読み込み、指定された ImageReadParam を使用して、完全な BufferedImage として返します。 |
IIOImage |
readAll(int imageIndex, ImageReadParam param)
imageIndex によってインデックスを付けられたイメージを読み込み、指定された ImageReadParam を使用して、イメージ、サムネール、および関連するイメージのメタデータを保持する IIOImage を返します。 |
Iterator<IIOImage> |
readAll(Iterator<? extends ImageReadParam> params)
すべてのイメージ、サムネール、およびメタデータを保持し、
getMinIndex によって指定されたインデックスで始まる Iterator を、IIOImage オブジェクトの形式で入力ソースから返します。 |
RenderedImage |
readAsRenderedImage(int imageIndex, ImageReadParam param)
imageIndex によってインデックスを付けられたイメージの内容を保持する RenderedImage オブジェクトを返します。 |
boolean |
readerSupportsThumbnails()
この読み取り側によって認識されるイメージ形式が、それに関連付けられたサムネールプレビューイメージをサポートする場合、
true を返します。 |
Raster |
readRaster(int imageIndex, ImageReadParam param)
色変換を適用せずに、イメージストリームからのピクセルデータを保持する新しい
Raster オブジェクトを返します。 |
BufferedImage |
readThumbnail(int imageIndex, int thumbnailIndex)
thumbnailIndex によってインデックスを付けられたサムネールプレビューイメージを返します。このイメージは、BufferedImage として ImageIndex によってインデックスを付けられたイメージに関連付けられています。 |
BufferedImage |
readTile(int imageIndex, int tileX, int tileY)
tileX および tileY 引数によって指定され、BufferedImage として返されるタイルを読み込みます。 |
Raster |
readTileRaster(int imageIndex, int tileX, int tileY)
色変換を適用せずに、タイルからの raw ピクセルデータを保持する新しい
Raster オブジェクトを返します。 |
void |
removeAllIIOReadProgressListeners()
現在登録されているすべての
IIOReadProgressListener オブジェクトを削除します。 |
void |
removeAllIIOReadUpdateListeners()
現在登録されているすべての
IIOReadUpdateListener オブジェクトを削除します。 |
void |
removeAllIIOReadWarningListeners()
現在登録されているすべての
IIOReadWarningListener オブジェクトを削除します。 |
void |
removeIIOReadProgressListener(IIOReadProgressListener listener)
登録された進捗リスナーのリストから、
IIOReadProgressListener を削除します。 |
void |
removeIIOReadUpdateListener(IIOReadUpdateListener listener)
登録された更新リスナーのリストから、
IIOReadUpdateListener を削除します。 |
void |
removeIIOReadWarningListener(IIOReadWarningListener listener)
登録されたエラーリスナーのリストから、
IIOReadWarningListener を削除します。 |
void |
reset()
ImageReader を初期状態に復元します。 |
void |
setInput(Object input)
指定された
ImageInputStream またはほかの Object に使用するために入力ソースを設定します。 |
void |
setInput(Object input, boolean seekForwardOnly)
指定された
ImageInputStream またはほかの Object に使用するために入力ソースを設定します。 |
void |
setInput(Object input, boolean seekForwardOnly, boolean ignoreMetadata)
指定された
ImageInputStream またはほかの Object に使用するために入力ソースを設定します。 |
void |
setLocale(Locale locale)
この
ImageReader の現在の Locale を、指定された値に設定します。 |
protected ImageReaderSpi originatingProvider
ImageReaderSpi
、または識別情報が不明であるか存在しない場合は null
です。デフォルトでは、null
に初期化されます。protected Object input
ImageInputStream
または setInput
が設定して、getInput
が取り出したその他の Object
です。デフォルトでは、null
に初期化されます。protected boolean seekForwardOnly
setInput
による順方向検索だけが可能となるように指定されている場合は true
です。デフォルト値は false
です。protected boolean ignoreMetadata
setInput
によってメタデータが無視されるように指定されている場合は true
です。デフォルト値は false
です。protected int minIndex
seekForwardOnly
が true
の場合、さまざまなメソッドが、より小さいインデックスを持つイメージに関連付けられたデータにアクセスしようとして IndexOutOfBoundsException
をスローします。protected Locale[] availableLocales
Locale
の配列、またはローカライズ版がサポートされていない場合は null
です。protected Locale locale
Locale
、または設定されていない場合は null
です。protected List<IIOReadWarningListener> warningListeners
IIOReadWarningListener
の List
です。デフォルトでは null
に初期化され、空の List
と同じ意味になります。protected List<Locale> warningLocales
IIOReadWarningListener
に関連付けられた Locale
の List
です。デフォルトでは null
に初期化され、空の List
と同じ意味になります。protected List<IIOReadProgressListener> progressListeners
IIOReadProgressListener
の List
です。デフォルトでは null
に初期化され、空の List
と同じ意味になります。protected List<IIOReadUpdateListener> updateListeners
IIOReadUpdateListener
の List
です。デフォルトでは null
に初期化され、空の List
と同じ意味になります。protected ImageReader(ImageReaderSpi originatingProvider)
ImageReader
を構築し、originatingProvider
フィールドを、指定された値に設定します。
拡張機能を使用するサブクラスは、拡張オブジェクトを取り出すために、シグニチャー ((ImageReaderSpi, Object)
) を持つコンストラクタを提供する必要があります。拡張オブジェクトが適切でない場合、IllegalArgumentException
がスローされます。
originatingProvider
- このコンストラクタを呼び出す ImageReaderSpi
または null
。public String getFormatName() throws IOException
String
を返します。
デフォルトの実装では originatingProvider.getFormatNames()[0]
を返します。発生元のサービスプロバイダを持たないか、異なるネーミングポリシーが必要な実装はこのメソッドをオーバーライドする必要があります。
String
としての形式名。IOException
- 入力ソースからの情報の読み込みエラーが発生した場合。public ImageReaderSpi getOriginatingProvider()
ImageReaderSpi
を返します。この値は null
の場合があることに注意してください。ImageReaderSpi
、または null
。ImageReaderSpi
public void setInput(Object input, boolean seekForwardOnly, boolean ignoreMetadata)
ImageInputStream
またはほかの Object
に使用するために入力ソースを設定します。入力ソースは、照会または読み込みメソッドを使用する前に設定します。input
が null
の場合、現在設定されている入力ソースは削除されます。どの場合も、minIndex
の値は 0 に初期化されます。
seekForwardOnly
パラメータは、getMinIndex
によって返された値が、イメージ、サムネール、またはイメージメタデータが読み取られるごとに増加するかどうかを制御します。seekForwardOnly
が true の場合、index < this.minIndex
の場合は read(index)
の呼び出しによって IndexOutOfBoundsException
がスローされます。それ以外の場合は、minIndex
の値が index
に設定されます。seekForwardOnly
が false
の場合、読み込みオペレーションにかかわらず minIndex
の値は 0 のままになります。
true
に設定されている場合、ignoreMetadata
パラメータは、読み込み中に発生したメタデータを読み取り側が無視できるようにします。そのあとの getStreamMetadata
および getImageMetadata
メソッドの呼び出しは null
を返し、readAll
から返された IIOImage
は getMetadata
メソッドから null
を返します。このパラメータの設定により、読み取り側はより効率的に作業できるようになります。読み取り側は、この設定を無効にして通常どおりメタデータを返すこともできます。
サブクラスは、ヘッダー情報や部分的に復号化されたイメージデータなど、以前のストリームに基づくキャッシュ情報の削除に注意する必要があります。
ImageInputStream
以外の一般の Object
は、取得デバイスまたはイメージングプロトコルと直接対話する読み取り側のために使用されます。読み取り側のサービスプロバイダの getInputTypes
メソッドにより、正規のクラスのセットが公示されます。ほとんどの読み取り側が、ImageInputStream
だけを受け入れることを示すために、ImageInputStream.class
だけを含む 1 つの要素の配列を返します。
デフォルト実装は、originatingProvider.getInputTypes()
によって返されるリストに対して input
引数を確認して、引数がリスト内の 1 つのクラスのインスタンスでない場合は失敗します。発生元のプロバイダが null
に設定されている場合、入力が ImageInputStream
である場合にだけ受け取られます。
input
- ImageInputStream
または今後、復号化で使用するほかの Object
。seekForwardOnly
- true
の場合、イメージとメタデータはこの入力ソースから昇順でのみ読み取られる。ignoreMetadata
- true
の場合、メタデータは読み込み中に無視される。IllegalArgumentException
- input
が発生元サービスプロバイダの getInputTypes
メソッドによって返されたいずれかのクラスのインスタンスではない場合、または ImageInputStream
ではない場合。ImageInputStream
, getInput()
, ImageReaderSpi.getInputTypes()
public void setInput(Object input, boolean seekForwardOnly)
ImageInputStream
またはほかの Object
に使用するために入力ソースを設定します。入力ソースは、照会または読み込みメソッドを使用する前に設定します。input
が null
の場合、現在設定されている入力ソースは削除されます。どの場合も、minIndex
の値は 0 に初期化されます。
seekForwardOnly
パラメータは、getMinIndex
によって返された値が、イメージ、サムネール、またはイメージメタデータが読み取られるごとに増加するかどうかを制御します。seekForwardOnly
が true の場合、index < this.minIndex
の場合は read(index)
の呼び出しによって IndexOutOfBoundsException
がスローされます。それ以外の場合は、minIndex
の値が index
に設定されます。seekForwardOnly
が false
の場合、読み込みオペレーションにかかわらず minIndex
の値は 0 のままになります。
このメソッドは、setInput(input, seekForwardOnly, false)
と同等です。
input
- ImageInputStream
または今後、復号化で使用するほかの Object
。seekForwardOnly
- true
の場合、イメージとメタデータはこの入力ソースから昇順でのみ読み取られる。IllegalArgumentException
- input
が発生元サービスプロバイダの getInputTypes
メソッドによって返されたいずれかのクラスのインスタンスではない場合、または ImageInputStream
ではない場合。getInput()
public void setInput(Object input)
ImageInputStream
またはほかの Object
に使用するために入力ソースを設定します。入力ソースは、照会または読み込みメソッドを使用する前に設定します。input
が null
の場合、現在設定されている入力ソースは削除されます。どの場合も、minIndex
の値は 0 に初期化されます。
このメソッドは、setInput(input, false, false)
と同等です。
input
- ImageInputStream
または今後、復号化で使用するほかの Object
。IllegalArgumentException
- input
が発生元サービスプロバイダの getInputTypes
メソッドによって返されたいずれかのクラスのインスタンスではない場合、または ImageInputStream
ではない場合。getInput()
public Object getInput()
ImageInputStream
または以前に入力ソースとして設定されたほかの Object
を返します。入力ソースが設定されていない場合、null
が返されます。Object
または null
。ImageInputStream
, setInput(java.lang.Object, boolean, boolean)
public boolean isSeekForwardOnly()
setInput
メソッドの seekForwardOnly
引数として true
を渡すことにより、順方向検索だけで実施と指定されている場合は true
を返します。true
。setInput(java.lang.Object, boolean, boolean)
public boolean isIgnoringMetadata()
setInput
メソッドの ignoreMetadata
引数として true
を渡すことにより、メタデータを無視できるように指定されている場合は true
を返します。true
。setInput(java.lang.Object, boolean, boolean)
public int getMinIndex()
seekForwardOnly()
が false
の場合、この値は通常 0 のままとなり、ランダムアクセスが可能であることを示します。それ以外の場合、直前にアクセスされたインデックスの値を保持し、単調に増加します。public Locale[] getAvailableLocales()
Locale
の配列を返します。戻り値 null
は、ローカライズ版がサポートされていないことを示します。
デフォルトの実装では、それが null
以外の場合は availableLocales
インスタンス変数のクローンを返し、それ以外の場合は null
を返します。
setLocale
の引数として使用する Locale
の配列、または null
。public void setLocale(Locale locale)
ImageReader
の現在の Locale
を、指定された値に設定します。値 null
は、以前の設定を削除して、読み取り側が適切にローカライズする必要があることを示します。locale
- 目的の Locale
、または null
。IllegalArgumentException
- locale
が null
ではないが、getAvailableLocales
によって返された値の 1 つではない場合。getLocale()
public Locale getLocale()
Locale
、何も設定されていない場合は null
を返します。Locale
、または null
。setLocale(java.util.Locale)
public abstract int getNumImages(boolean allowSearch) throws IOException
動画 GIF など一部のイメージ形式は、現在のストリームにあるイメージの数を指定しないことに注意してください。このため、イメージ数を確認するにはストリーム全体の走査が必要で、バッファリングを行うために多くのメモリーが必要になることがあります。イメージが順番に処理される場合は、単純に read
を呼び出し、IndexOutOfBoundsException
がスローされることにより使用できるイメージがこれ以上ないことが示されるまでインデックスを増加させるほうが効率的です。allowSearch
パラメータを false
に設定して、徹底的な検索が不要であることを指示できます。この場合、戻り値は -1
となり、検索が必要であることを示します。入力が seekForwardOnly
で指定され、true
に設定されているとき、このメソッドは、allowSearch
が true
に設定されていれば、IllegalStateException
をスローします。
allowSearch
- true
の場合、検索が必要なときでも実際のイメージの数を返す。false
の場合、読み取り側は検索を実行せずに -1
を返す。int
としてのイメージの数、または allowSearch
が false
の場合は -1
を返し、検索を要求する。IllegalStateException
- 入力ソースが設定されていない場合、または入力が seekForwardOnly
で指定され、true
に設定されている場合。IOException
- 入力ソースからの情報の読み込みエラーが発生した場合。setInput(java.lang.Object, boolean, boolean)
public abstract int getWidth(int imageIndex) throws IOException
ユーザー指定のサイズでイメージを描画できる場合、このメソッドはデフォルトの幅を返します。
imageIndex
- 照会されるイメージのインデックス。int
としてのイメージの幅。IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定したインデックスが範囲外にある場合。IOException
- 入力ソースからの幅情報の読み込みでエラーが発生した場合。public abstract int getHeight(int imageIndex) throws IOException
ユーザー指定のサイズでイメージを描画できる場合、このメソッドはデフォルトの高さを返します。
imageIndex
- 照会されるイメージのインデックス。int
としてのイメージの高さ。IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定したインデックスが範囲外にある場合。IOException
- 入力ソースからの高さ情報の読み込みでエラーが発生した場合。public boolean isRandomAccessEasy(int imageIndex) throws IOException
true
を返します。JPEG などほとんどの圧縮形式では、対象の領域に加えて大規模なセクションを復号化する必要があるため、このメソッドは false
を返します。
これはプログラムを効率的に行うためのヒントにすぎません。すべての読み取り側は ImageReadParam
に指定されているとおり、任意の領域を読み取る必要があります。
その場合でも、このメソッドから false
を返す形式は、JPEG の Restart Marker のようなタイリングが可能であり、タイル上のランダムアクセスが非常に効率的になることに注意してください。
を参照してください。
isImageTiled
すべてのイメージが簡単なランダムアクセスのサポートを保証されている読み取り側、または簡単なランダムアクセスのサポートが保証されない読み取り側は、イメージデータにアクセスせずに、それぞれ true
または false
を返します。このような場合、入力ソースが設定されていないか、またはイメージのインデックスが範囲外にある場合でも、例外をスローする必要はありません。
デフォルトの実装では false
を返します。
imageIndex
- 照会されるイメージのインデックス。true
。IllegalStateException
- 入力ソースが戻り値の決定を要求される場合で、何も設定されていない場合。IndexOutOfBoundsException
- 戻り値を決定するためにイメージにアクセスする必要があるが、指定されたインデックスが範囲外にある場合。IOException
- 読み込み中にエラーが発生した場合。public float getAspectRatio(int imageIndex) throws IOException
float
で返します。本来サイズ変更が可能なイメージの場合、このメソッドは指定された適切な高さを持つ幅 (またはその逆) を決定する方法を提供します。サイズ変更ができないイメージの場合、実際の幅と高さを使用します。
デフォルトの実装では、(float)getWidth(imageIndex)/getHeight(imageIndex)
を返すだけです。
imageIndex
- 照会されるイメージのインデックス。float
。IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定したインデックスが範囲外にある場合。IOException
- 読み込み中にエラーが発生した場合。public ImageTypeSpecifier getRawImageType(int imageIndex) throws IOException
SampleModel
と ColorModel
を示して、ImageTypeSpecifier
を返します。たとえば、JPEG イメージの場合、通常、表示される前にイメージを RGB カラースペースに変換する場合でも、raw 型は YCbCr カラースペースを持ちます。また、戻り値は getImageTypes
によって返された値のリストに含まれる必要があります。
デフォルト実装は、getImageType
が提供するリストから最初のエントリを返すだけです。
imageIndex
- 照会されるイメージのインデックス。ImageTypeSpecifier
。IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定したインデックスが範囲外にある場合。IOException
- 入力ソースからの形式情報の読み込みでエラーが発生した場合。public abstract Iterator<ImageTypeSpecifier> getImageTypes(int imageIndex) throws IOException
ImageTypeSpecifiers
の形式で指定されたイメージが復号化されるイメージ型を含む Iterator
を返します。少なくとも 1 つの有効なイメージ型が返されます。
イテレータの最初の要素は、イメージを最小の損失で復号化するために、もっとも「自然な」型でなければいけません。たとえば、JPEG イメージの場合、イメージデータが内部的に YCbCr カラースペースに格納されている場合でも、最初のエントリは RGB イメージになります。
imageIndex
- 取得
されるイメージのインデックス。ImageTypeSpecifier
を保持する Iterator
。IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定したインデックスが範囲外にある場合。IOException
- 入力ソースからの形式情報の読み込みでエラーが発生した場合。ImageReadParam.setDestination(BufferedImage)
, ImageReadParam.setDestinationType(ImageTypeSpecifier)
public ImageReadParam getDefaultReadParam()
ImageReadParam
オブジェクトを返します。すべてのサブクラスは、すべてのパラメータのデフォルト値のセットを定義して、この呼び出しでそれらを返さなければいけません。このメソッドは、入力ソースが設定される前に呼び出されます。
デフォルト実装は、ソースのスケーリングを実行できない新しい ImageReadParam
オブジェクトを構築して返します。つまり、new ImageReadParam()
を返します。
ImageReadParam
オブジェクト。public abstract IIOMetadata getStreamMetadata() throws IOException
IIOMetadata
オブジェクトを返します。または、読み取り側がメタデータを無視するよう設定され、メタデータの読み込みをサポートしていない場合、あるいはメタデータが使用できない場合は null
を返します。IIOMetadata
オブジェクト、または null
。IOException
- 読み込み中にエラーが発生した場合。public IIOMetadata getStreamMetadata(String formatName, Set<String> nodeNames) throws IOException
IIOMetadata
オブジェクトを返します。このようなデータが存在しない場合は null
を返します。
結果のメタデータオブジェクトは formatName
と名前の付けられた形式のドキュメントを返すだけです。返されるドキュメント内では、名前が nodeNames
のメンバーであるノードだけを返すよう要求されます。このようにして、読み取り側によって処理されたメタデータの量が、実際に必要な情報に基づく最小の量になるように管理されます。
formatName
がサポートされたメタデータ形式の名前ではない場合、null
を返します。
どのような場合でも、厳密に必要なオブジェクトにとどまらず、有効なメタデータオブジェクトを返すようにすることができます。形式名およびノード名は、読み取り側の作業負荷を削減するために使用するヒントに過ぎません。
デフォルト実装は、形式名がサポートされていることを確認してから getStreamMetadata()
の呼び出しの結果を返すだけです。それ以外の場合は、null
が返されます。
formatName
- 返された IIOMetadata
オブジェクトからドキュメントを取得するために使用するメタデータの形式名。nodeNames
- 取得されたドキュメントに含まれるノード名を保持する Set
。IIOMetadata
オブジェクト、または null
。IllegalArgumentException
- formatName
が null
の場合。IllegalArgumentException
- nodeNames
が null
の場合。IOException
- 読み込み中にエラーが発生した場合。public abstract IIOMetadata getImageMetadata(int imageIndex) throws IOException
IIOMetadata
オブジェクトを返します。または、読み取り側がメタデータを無視するよう設定され、メタデータの読み込みをサポートしていない場合、あるいはメタデータが使用できない場合は null
を返します。imageIndex
- メタデータの取得元イメージのインデックス。IIOMetadata
オブジェクト、または null
。IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定したインデックスが範囲外にある場合。IOException
- 読み込み中にエラーが発生した場合。public IIOMetadata getImageMetadata(int imageIndex, String formatName, Set<String> nodeNames) throws IOException
IIOMetadata
オブジェクトを返します。読み取り側がメタデータの読み込みをサポートしていない場合、あるいはメタデータを使用できない場合は null
を返します。
結果のメタデータオブジェクトは formatName
と名前の付けられた形式のドキュメントを返すだけです。返されるドキュメント内では、名前が nodeNames
のメンバーであるノードだけを返すよう要求されます。このようにして、読み取り側によって処理されたメタデータの量が、実際に必要な情報に基づく最小の量になるように管理されます。
formatName
がサポートされたメタデータ形式の名前ではない場合、null
を返します。
どのような場合でも、厳密に必要なオブジェクトにとどまらず、有効なメタデータオブジェクトを返すようにすることができます。形式名およびノード名は、読み取り側の作業負荷を削減するために使用するヒントに過ぎません。
デフォルト実装は、形式名がサポートされていることを確認してから getImageMetadata(imageIndex)
の呼び出しの結果を返すだけです。それ以外の場合は、null
が返されます。
imageIndex
- メタデータの取得元イメージのインデックス。formatName
- 返された IIOMetadata
オブジェクトからドキュメントを取得するために使用するメタデータの形式名。nodeNames
- 取得されたドキュメントに含まれるノード名を保持する Set
。IIOMetadata
オブジェクト、または null
。IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定したインデックスが範囲外にある場合。IllegalArgumentException
- formatName
が null
の場合。IllegalArgumentException
- nodeNames
が null
の場合。IOException
- 読み込み中にエラーが発生した場合。public BufferedImage read(int imageIndex) throws IOException
imageIndex
によってインデックスを付けられたイメージを読み込み、デフォルトの ImageReadParam
を使用して、完全な BufferedImage
として返します。これは read(imageIndex, null)
を呼び出す簡易メソッドです。
返されるイメージは getImageTypes
から返される最初の ImageTypeSpecifier
によってフォーマットされます。
登録された IIOReadProgressListener
オブジェクトは imageStarted
メソッドの呼び出しによって通知され、そのあとに読み込みの進捗とともに imageProgress
メソッドの呼び出しが続きます。最後に imageComplete
メソッドが呼び出されます。IIOReadUpdateListener
オブジェクトは、読み込み中にピクセルが復号化されるときに更新されます。最後に、IIOReadWarningListener
オブジェクトは、復号化中に発生する致命的ではない警告の通知を受け取ります。
imageIndex
- 取得されるイメージのインデックス。BufferedImage
としてのイメージの必要な部分。IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定したインデックスが範囲外にある場合。IOException
- 読み込み中にエラーが発生した場合。public abstract BufferedImage read(int imageIndex, ImageReadParam param) throws IOException
imageIndex
によってインデックスを付けられたイメージを読み込み、指定された ImageReadParam
を使用して、完全な BufferedImage
として返します。
返される実際の BufferedImage
は、getDestination
メソッドによって定義されたアルゴリズムを使用して選択されます。
登録された IIOReadProgressListener
オブジェクトは imageStarted
メソッドの呼び出しによって通知され、そのあとに読み込みの進捗とともに imageProgress
メソッドの呼び出しが続きます。最後に imageComplete
メソッドが呼び出されます。IIOReadUpdateListener
オブジェクトは、読み込み中にピクセルが復号化されるときに更新されます。最後に、IIOReadWarningListener
オブジェクトは、復号化中に発生する致命的ではない警告の通知を受け取ります。
読み取られるソースバンドおよび書き込まれるデスティネーションバンドのセットは、指定された ImageReadParam
で getSourceBands
と getDestinationBands
を呼び出すことによって決定されます。これらのメソッドによって返される配列の長さが異なる場合、ソースバンドのセットが使用可能な最大のソースインデックスより大きいインデックスを保持する場合、またはデスティネーションバンドのセットが有効な最大のデスティネーションインデックスより大きいインデックスを保持する場合、IllegalArgumentException
がスローされます。
指定された ImageReadParam
が、この読み取り側によってサポートされないオプションの設定値 (たとえば、ソースの描画サイズや形式固有の設定) を保持する場合、これらは無視されます。
imageIndex
- 取得されるイメージのインデックス。param
- 読み込みプロセスの制御に使用する ImageReadParam
、または null
。BufferedImage
としてのイメージの必要な部分。IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定したインデックスが範囲外にある場合。IllegalArgumentException
- param.getSourceBands
および param.getDestinationBands
によって指定されたソースバンドとデスティネーションバンドのセットの長さが異なる場合、または範囲外のインデックスを含んでいる場合。IllegalArgumentException
- 結果のイメージが 1 より小さい幅または高さを持つ場合。IOException
- 読み込み中にエラーが発生した場合。public IIOImage readAll(int imageIndex, ImageReadParam param) throws IOException
imageIndex
によってインデックスを付けられたイメージを読み込み、指定された ImageReadParam
を使用して、イメージ、サムネール、および関連するイメージのメタデータを保持する IIOImage
を返します。
返される IIOImage
によって参照される実際の BufferedImage
は、getDestination
メソッドによって定義されたアルゴリズムを使用して選択されます。
登録された IIOReadProgressListener
オブジェクトは imageStarted
メソッドの呼び出しによって通知され、そのあとに読み込みの進捗とともに imageProgress
メソッドの呼び出しが続きます。最後に imageComplete
メソッドが呼び出されます。IIOReadUpdateListener
オブジェクトは、読み込み中にピクセルが復号化されるときに更新されます。最後に、IIOReadWarningListener
オブジェクトは、復号化中に発生する致命的ではない警告の通知を受け取ります。
読み取られるソースバンドおよび書き込まれるデスティネーションバンドのセットは、指定された ImageReadParam
で getSourceBands
と getDestinationBands
を呼び出すことによって決定されます。これらのメソッドによって返される配列の長さが異なる場合、ソースバンドのセットが使用可能な最大のソースインデックスより大きいインデックスを保持する場合、またはデスティネーションバンドのセットが有効な最大のデスティネーションインデックスより大きいインデックスを保持する場合、IllegalArgumentException
がスローされます。
領域の設定に関係なく、サムネールの全体が返されます。
指定された ImageReadParam
が、この読み取り側によってサポートされないオプションの設定値 (たとえば、ソースの描画サイズや形式固有の設定) を保持する場合、これらの値は無視されます。
imageIndex
- 取得されるイメージのインデックス。param
- 読み込みプロセスの制御に使用する ImageReadParam
、または null
。IIOImage
。IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定したインデックスが範囲外にある場合。IllegalArgumentException
- param.getSourceBands
および param.getDestinationBands
によって指定されたソースバンドとデスティネーションバンドのセットの長さが異なる場合、または範囲外のインデックスを含んでいる場合。IllegalArgumentException
- 結果のイメージが 1 より小さい幅または高さを持つ場合。IOException
- 読み込み中にエラーが発生した場合。public Iterator<IIOImage> readAll(Iterator<? extends ImageReadParam> params) throws IOException
getMinIndex
によって指定されたインデックスで始まる Iterator
を、IIOImage
オブジェクトの形式で入力ソースから返します。ImageReadParam
オブジェクトを保持する Iterator
が提供されます。使用できるイメージがなくなるまで、入力ソースから読み取られるイメージごとに 1 つの要素が消費されます。読み込みパラメータの Iterator
が、要素を消費し尽くした場合で、入力ソースから使用できるイメージがまだあるときは、残されたイメージに対してデフォルトの読み込みパラメータが使用されます。
params
が null
の場合、すべてのイメージに対してデフォルトの読み込みパラメータが使用されます。
返される IIOImage
によって参照される実際の BufferedImage
は、getDestination
メソッドによって定義されたアルゴリズムを使用して選択されます。
登録された IIOReadProgressListener
オブジェクトは sequenceStarted
メソッドの呼び出しによって 1 回通知されます。次に、復号化された各イメージに対して、imageStarted
の呼び出しが行われ、そのあとに読み込みの進捗とともに imageProgress
が呼び出され、最後に imageComplete
が呼び出されます。sequenceComplete
メソッドは、最後のイメージがデコートされたあとに呼び出されます。IIOReadUpdateListener
オブジェクトは、読み込み中にピクセルが復号化されるときに更新されます。最後に、IIOReadWarningListener
オブジェクトは、復号化中に発生する致命的ではない警告の通知を受け取ります。
読み取られるソースバンドおよび書き込まれるデスティネーションバンドのセットは、指定された ImageReadParam
で getSourceBands
と getDestinationBands
を呼び出すことによって決定されます。これらのメソッドによって返される配列の長さが異なる場合、ソースバンドのセットが使用可能な最大のソースインデックスより大きいインデックスを保持する場合、またはデスティネーションバンドのセットが有効な最大のデスティネーションインデックスより大きいインデックスを保持する場合、IllegalArgumentException
がスローされます。
領域の設定に関係なく、サムネールの全体が返されます。
指定された ImageReadParam
が、この読み取り側によってサポートされないオプションの設定値 (たとえば、ソースの描画サイズや形式固有の設定) を保持する場合、これらは無視されます。
params
- ImageReadParam
オブジェクトを保持する Iterator
。IIOImage
として、入力ソースの内容を表す Iterator
。IllegalStateException
- 入力ソースが設定されていない場合。IllegalArgumentException
- params
の null
以外の要素が ImageReadParam
ではない場合。IllegalArgumentException
- param.getSourceBands
および param.getDestinationBands
によって指定されたソースバンドとデスティネーションバンドのセットの長さが異なる場合、または範囲外のインデックスを含んでいる場合。IllegalArgumentException
- 結果のイメージが 1 より小さい幅または高さを持つ場合。IOException
- 読み込み中にエラーが発生した場合。ImageReadParam
, IIOImage
public boolean canReadRaster()
Raster
だけの読み込みをサポートする場合、true
を返します。このメソッドが false
を返す場合、readRaster
または readTileRaster
の呼び出しは UnsupportedOperationException
をスローします。
デフォルトの実装では false
を返します。
Raster
の読み込みをサポートする場合は true
。readRaster(int, javax.imageio.ImageReadParam)
, readTileRaster(int, int, int)
public Raster readRaster(int imageIndex, ImageReadParam param) throws IOException
Raster
オブジェクトを返します。アプリケーションは、別の方法でピクセルデータを解釈する方法を指定します。指定された ImageReadParam
オブジェクトのデスティネーションまたはイメージ型のパラメータは無視されます。ただし、ほかのすべてのパラメータは、デスティネーション座標が物理座標ではなく論理座標として使用されることを除いて、read
メソッドの場合とまったく同様に使用されます。返される Raster
のサイズは、常に実際のイメージにクリップされたソース領域のサイズになります。ストリーム自体の論理座標は無視されます。
このメソッドは JPEG など通常、色変換を適用する形式や、リモートセンシングまたは医療用イメージデータなど通常、関連するカラースペースを持たない形式が raw ピクセルデータにアクセスできるようにします。
登録された readUpdateListener
は無視されるので、BufferedImage
はありませんが、ほかのすべてのリスナーは、
メソッドの場合のように正確に呼び出されます。
read
が canReadRaster()
false
を返す場合、このメソッドは UnsupportedOperationException
をスローします。
指定された ImageReadParam
が、この読み取り側によってサポートされないオプションの設定値 (たとえば、ソースの描画サイズや形式固有の設定) を保持する場合、これらは無視されます。
デフォルトの実装では UnsupportedOperationException
をスローします。
imageIndex
- 読み取られるイメージのインデックス。param
- 読み込みプロセスの制御に使用する ImageReadParam
、または null
。Raster
としてのイメージの必要な部分。UnsupportedOperationException
- このプラグインが Raster
の読み込みをサポートしない場合。IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定したインデックスが範囲外にある場合。IOException
- 読み込み中にエラーが発生した場合。canReadRaster()
, read(int)
, Raster
public boolean isImageTiled(int imageIndex) throws IOException
true
を返します。
読み取り側のプラグインは、イメージに存在するタイリングを格納されているとおりに表示するかどうかを選択できます。明らかに何も存在しない場合でも、タイリングの通知を選択できます。一般に、個々のタイルにアクセスするときに何らかの利点 (速度や容量など) がある場合にだけ、タイリングは通知されます。読み取り側は、タイリングを通知するかどうかにかかわらず、ImageReadParam
に指定された任意の矩形領域を読み取ることができる必要があります。
すべてのイメージをタイリングするように保証されている、あるいはタイリングしないように保証されている読み取り側は、イメージデータにアクセスせずにそれぞれ true
または false
を返します。このような場合、入力ソースが設定されていないか、またはイメージのインデックスが範囲外にある場合でも、例外をスローする必要はありません。
デフォルト実装は false
を返します。
imageIndex
- 照会されるイメージのインデックス。true
。IllegalStateException
- 入力ソースが戻り値の決定を要求される場合で、何も設定されていない場合。IndexOutOfBoundsException
- 戻り値を決定するためにイメージにアクセスする必要があるが、指定されたインデックスが範囲外にある場合。IOException
- 読み込み中にエラーが発生した場合。public int getTileWidth(int imageIndex) throws IOException
デフォルト実装では、単にタイリングされないイメージに対して正しい getWidth(imageIndex)
を返します。タイリングをサポートする読み取り側は、このメソッドをオーバーライドする必要があります。
imageIndex
- 照会されるイメージのインデックス。IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定したインデックスが範囲外にある場合。IOException
- 読み込み中にエラーが発生した場合。public int getTileHeight(int imageIndex) throws IOException
デフォルト実装では、単にタイリングされないイメージに対して正しい getHeight(imageIndex)
を返します。タイリングをサポートする読み取り側は、このメソッドをオーバーライドする必要があります。
imageIndex
- 照会されるイメージのインデックス。IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定したインデックスが範囲外にある場合。IOException
- 読み込み中にエラーが発生した場合。public int getTileGridXOffset(int imageIndex) throws IOException
タイルグリッドの X 座標が常に同じ値 (通常は 0) を持つ読み取り側は、イメージデータにアクセスせずに値を返します。このような場合、入力ソースが設定されていないか、またはイメージのインデックスが範囲外にある場合でも、例外をスローする必要はありません。
デフォルト実装は、ほとんどの形式のタイリングされないイメージとタイリングされたイメージに対して正しい値 0 を返すだけです。(0, 0) 以外の座標を持つタイリングをサポートする読み取り側は、このメソッドをオーバーライドする必要があります。
imageIndex
- 照会されるイメージのインデックス。IllegalStateException
- 入力ソースが戻り値の決定を要求される場合で、何も設定されていない場合。IndexOutOfBoundsException
- 戻り値を決定するためにイメージにアクセスする必要があるが、指定されたインデックスが範囲外にある場合。IOException
- 読み込み中にエラーが発生した場合。public int getTileGridYOffset(int imageIndex) throws IOException
タイルグリッドの Y 座標が常に同じ値 (通常は 0) を持つ読み取り側は、イメージデータにアクセスせずに値を返します。このような場合、入力ソースが設定されていないか、またはイメージのインデックスが範囲外にある場合でも、例外をスローする必要はありません。
デフォルト実装は、ほとんどの形式のタイリングされないイメージとタイリングされたイメージに対して正しい値 0 を返すだけです。(0, 0) 以外の座標を持つタイリングをサポートする読み取り側は、このメソッドをオーバーライドする必要があります。
imageIndex
- 照会されるイメージのインデックス。IllegalStateException
- 入力ソースが戻り値の決定を要求される場合で、何も設定されていない場合。IndexOutOfBoundsException
- 戻り値を決定するためにイメージにアクセスする必要があるが、指定されたインデックスが範囲外にある場合。IOException
- 読み込み中にエラーが発生した場合。public BufferedImage readTile(int imageIndex, int tileX, int tileY) throws IOException
tileX
および tileY
引数によって指定され、BufferedImage
として返されるタイルを読み込みます。引数が領域外にある場合、IllegalArgumentException
がスローされます。イメージがタイリングされない場合、値 0, 0 はイメージ全体を返します。その他の値では IllegalArgumentException
がスローされます。
このメソッドは、単に読み込みパラメータを使用して read(int, ImageReadParam)
を読み取る場合と同等の簡易メソッドです。この読み込みパラメータは、tileX*getTileWidth(imageIndex)
、tileY*getTileHeight(imageIndex)
の座標および getTileWidth(imageIndex)
、getTileHeight(imageIndex)
の幅と高さを持つソース領域を指定し、サブサンプリング係数 1 および座標 0 を指定します。タイルを間引きするには、この領域と異なるサブサンプリングパラメータを指定する読み込みパラメータを使用して、read
を呼び出します。
デフォルト実装は、tileX
および tileY
が 0 の場合、イメージ全体を返し、0 以外の場合は IllegalArgumentException
をスローします。
imageIndex
- 取得されるイメージのインデックス。tileX
- 取得されるタイルの 0 で始まる列インデックス。tileY
- 取得されるタイルの 0 で始まる行インデックス。BufferedImage
としてのタイル。IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- imageIndex
が範囲外にある場合。IllegalArgumentException
- タイルのインデックスが範囲外の場合。IOException
- 読み込み中にエラーが発生した場合。public Raster readTileRaster(int imageIndex, int tileX, int tileY) throws IOException
Raster
オブジェクトを返します。アプリケーションは、別の方法でピクセルデータを解釈する方法を指定します。
が canReadRaster()
false
を返す場合、このメソッドは UnsupportedOperationException
をスローします。
デフォルト実装は、Raster
の読み込みをサポートしているかどうかを確認します。サポートしている場合は、tileX
および tileY
が 0 の場合、
を呼び出します。0 以外の場合は readRaster(imageIndex, null)
IllegalArgumentException
をスローします。
imageIndex
- 取得されるイメージのインデックス。tileX
- 取得されるタイルの 0 で始まる列インデックス。tileY
- 取得されるタイルの 0 で始まる行インデックス。Raster
としてのタイル。UnsupportedOperationException
- このプラグインが Raster
の読み込みをサポートしない場合。IllegalArgumentException
- タイルのインデックスが範囲外の場合。IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- imageIndex
が範囲外にある場合。IOException
- 読み込み中にエラーが発生した場合。readTile(int, int, int)
, readRaster(int, javax.imageio.ImageReadParam)
, Raster
public RenderedImage readAsRenderedImage(int imageIndex, ImageReadParam param) throws IOException
imageIndex
によってインデックスを付けられたイメージの内容を保持する RenderedImage
オブジェクトを返します。デフォルトでは、返されるイメージは単純に read(imageIndex, param)
によって返される BufferedImage
です。
このメソッドのセマンティクスは、ほかの read
メソッドのセマンティクスといくつかの点で異なることがあります。まず、ImageReadParam
に設定される任意のデスティネーションイメージまたはイメージ型、あるいはその両方は無視されます。次に、通常のリスナーの呼び出しは、それらが実行されること、または実行されても意味があることは保証されません。これは、イメージが返されたとき、あるいは実際には任意の時点で、返されたイメージがピクセルデータにより完全には生成されないことがあるためです。
指定された ImageReadParam
が、この読み取り側によってサポートされないオプションの設定値 (たとえば、ソースの描画サイズや形式固有の設定) を保持する場合、これらは無視されます。
デフォルト実装は、
を呼び出すだけです。read(imageIndex, param)
imageIndex
- 取得されるイメージのインデックス。param
- 読み込みプロセスの制御に使用する ImageReadParam
、または null
。RenderedImage
オブジェクト。IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定したインデックスが範囲外にある場合。IllegalArgumentException
- param.getSourceBands
および param.getDestinationBands
によって指定されたソースバンドとデスティネーションバンドのセットの長さが異なる場合、または範囲外のインデックスを含んでいる場合。IllegalArgumentException
- 結果のイメージが 1 より小さい幅または高さを持つ場合。IOException
- 読み込み中にエラーが発生した場合。public boolean readerSupportsThumbnails()
true
を返します。デフォルトの実装では false
を返します。
このメソッドが false
を返す場合、hasThumbnails
と getNumThumbnails
は、それぞれ false
と 0
を返します。また、readThumbnail
は、引数にかかわらず UnsupportedOperationException
を返します。
サムネールをサポートしない読み取り側は、サムネールに関連するメソッドを実装する必要がありません。
true
。public boolean hasThumbnails(int imageIndex) throws IOException
true
を返します。形式がサムネールをサポートしない場合、つまり readerSupportsThumbnails
が false
を返す場合、入力ソースが設定されているかどうか、または imageIndex
が境界内にあるかどうかにかかわらず false
を返します。
getNumThumbnails
が 0 より大きい値を返す場合、デフォルト実装は true
を返します。
imageIndex
- 照会されるイメージのインデックス。true
。IllegalStateException
- 読み取り側がサムネールをサポートするが、入力ソースが設定されていない場合。IndexOutOfBoundsException
- 読み取り側がサムネールをサポートするが、imageIndex
が範囲外にある場合。IOException
- 読み込み中にエラーが発生した場合。public int getNumThumbnails(int imageIndex) throws IOException
readerSupportsThumbnails
が false
を返す場合、入力ソースが設定されているかどうか、または imageIndex
が境界内にあるかどうかにかかわらず 0
を返します。
デフォルト実装は、その引数を確認することなく、0 を返します。
imageIndex
- 照会されるイメージのインデックス。IllegalStateException
- 読み取り側がサムネールをサポートするが、入力ソースが設定されていない場合。IndexOutOfBoundsException
- 読み取り側がサムネールをサポートするが、imageIndex
が範囲外にある場合。IOException
- 読み込み中にエラーが発生した場合。public int getThumbnailWidth(int imageIndex, int thumbnailIndex) throws IOException
thumbnailIndex
によってインデックスを付けられたサムネールプレビューイメージの幅を返します。このイメージは ImageIndex
によってインデックスを付けられたイメージに関連付けられています。
読み取り側がサムネールをサポートしない場合、つまり readerSupportsThumbnails
が false
を返す場合、UnsupportedOperationException
がスローされます。
デフォルトの実装では、readThumbnail(imageindex, thumbnailIndex).getWidth()
を返すだけです。したがって、サブクラスはサムネールを読み取らないようにするために、可能な場合はこのメソッドをオーバーライドする必要があります。
imageIndex
- 取得されるイメージのインデックス。thumbnailIndex
- 取得されるサムネールのインデックス。int
として望ましいサムネールの幅。UnsupportedOperationException
- サムネールがサポートされない場合。IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定されたインデックスのいずれかが範囲外にある場合。IOException
- 読み込み中にエラーが発生した場合。public int getThumbnailHeight(int imageIndex, int thumbnailIndex) throws IOException
thumbnailIndex
によってインデックスを付けられたサムネールプレビューイメージの高さを返します。このイメージは ImageIndex
によってインデックスを付けられたイメージに関連付けられています。
読み取り側がサムネールをサポートしない場合、つまり readerSupportsThumbnails
が false
を返す場合、UnsupportedOperationException
がスローされます。
デフォルトの実装では、readThumbnail(imageindex, thumbnailIndex).getHeight()
を返すだけです。したがって、サブクラスはサムネールを読み取らないようにするために、可能な場合はこのメソッドをオーバーライドする必要があります。
imageIndex
- 取得されるイメージのインデックス。thumbnailIndex
- 取得されるサムネールのインデックス。int
として望ましいサムネールの高さ。UnsupportedOperationException
- サムネールがサポートされない場合。IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定されたインデックスのいずれかが範囲外にある場合。IOException
- 読み込み中にエラーが発生した場合。public BufferedImage readThumbnail(int imageIndex, int thumbnailIndex) throws IOException
thumbnailIndex
によってインデックスを付けられたサムネールプレビューイメージを返します。このイメージは、BufferedImage
として ImageIndex
によってインデックスを付けられたイメージに関連付けられています。
登録された IIOReadProgressListener
オブジェクトは、thumbnailStarted
、thumbnailProgress
、および thumbnailComplete
メソッドを呼び出すことにより通知されます。
読み取り側がサムネールをサポートしない場合、つまり readerSupportsThumbnails
が false
を返すとき、入力ソースが設定されているかどうか、またはインデックスが境界内にあるかどうかにかかわらず UnsupportedOperationException
をスローします。
デフォルトの実装では UnsupportedOperationException
をスローします。
imageIndex
- 取得されるイメージのインデックス。thumbnailIndex
- 取得されるサムネールのインデックス。BufferedImage
としての目的のサムネール。UnsupportedOperationException
- サムネールがサポートされない場合。IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定されたインデックスのいずれかが範囲外にある場合。IOException
- 読み込み中にエラーが発生した場合。public void abort()
読み取り側は各読み込みオペレーションの開始時に clearAbortRequest
を呼び出して、読み込み中に abortRequested
の値を定期的にポーリングする必要があります。
protected boolean abortRequested()
clearAbortRequest
が呼び出されたため、現在の読み込みオペレーションを中断するリクエストが行われた場合、true
を返します。true
。abort()
, clearAbortRequest()
protected void clearAbortRequest()
abortRequested
は false
を返します。abort()
, abortRequested()
public void addIIOReadWarningListener(IIOReadWarningListener listener)
IIOReadWarningListener
を追加します。listener
が null
の場合、例外はスローされず、何も処理は行われません。指定されたリスナーに送られたメッセージは、可能であれば、現在の Locale
に合うようにローカライズされます。Locale
が設定されていない場合は、読み取り側に適合するよう警告メッセージをローカライズできます。listener
- 登録される IIOReadWarningListener
。removeIIOReadWarningListener(javax.imageio.event.IIOReadWarningListener)
public void removeIIOReadWarningListener(IIOReadWarningListener listener)
IIOReadWarningListener
を削除します。以前にリスナーが登録されていない場合、または listener
が null
の場合、例外はスローされず、何も処理は行われません。listener
- 登録解除される IIOReadWarningListener。addIIOReadWarningListener(javax.imageio.event.IIOReadWarningListener)
public void removeAllIIOReadWarningListeners()
IIOReadWarningListener
オブジェクトを削除します。
デフォルト実装では warningListeners
と warningLocales
インスタンスの変数を null
に設定します。
public void addIIOReadProgressListener(IIOReadProgressListener listener)
IIOReadProgressListener
を追加します。listener
が null
の場合、例外はスローされず、何も処理は行われません。listener
- 登録される IIOReadProgressListener。removeIIOReadProgressListener(javax.imageio.event.IIOReadProgressListener)
public void removeIIOReadProgressListener(IIOReadProgressListener listener)
IIOReadProgressListener
を削除します。以前にリスナーが登録されていない場合、または listener
が null
の場合、例外はスローされず、何も処理は行われません。listener
- 登録解除される IIOReadProgressListener。addIIOReadProgressListener(javax.imageio.event.IIOReadProgressListener)
public void removeAllIIOReadProgressListeners()
IIOReadProgressListener
オブジェクトを削除します。
デフォルト実装では progressListeners
インスタンスの変数を null
に設定します。
public void addIIOReadUpdateListener(IIOReadUpdateListener listener)
IIOReadUpdateListener
を、登録された更新リスナーのリストに追加します。listener
が null
の場合、例外はスローされず、何も処理は行われません。リスナーは、イメージとサムネールが復号化されるときに、プログレッシブパスの開始と終了を含むピクセルデータ更新の通知を受け取ります。
更新リスナーが存在しない場合、読み取り側はデスティネーションイメージまたはサムネール、あるいはその両方のピクセルの更新を、より少なく実行するように選択できます。これにより、復号化がより効率的に行われるようになります。
たとえば、プログレッシブ JPEG デコーディングでは、各パスに一連の係数の更新が含まれます。リスナーが存在する場合、これらの係数はピクセル値に変換され、各パスの RGB カラースペースに変換される必要があります。リスナーが存在しない場合、係数は単純に累積され、最終結果の変換と色の変換が一度だけ行われます。
復号化の最終結果は、中間更新が実行されているかどうかに関係なく同じです。したがって、最終イメージだけが必要な場合は、IIOReadUpdateListener
を登録しないほうが望ましい結果が得られます。一般的には、ローカル CPU の処理に比べて非常に遅いネットワーク接続を介してイメージを取得する場合は、プログレッシブな更新がもっとも効率的です。高速接続による場合は、プログレッシブな更新によりイメージの表示が実際には遅くなります。
listener
- 登録される IIOReadUpdateListener。removeIIOReadUpdateListener(javax.imageio.event.IIOReadUpdateListener)
public void removeIIOReadUpdateListener(IIOReadUpdateListener listener)
IIOReadUpdateListener
を削除します。以前にリスナーが登録されていない場合、または listener
が null
の場合、例外はスローされず、何も処理は行われません。listener
- 登録解除される IIOReadUpdateListener。addIIOReadUpdateListener(javax.imageio.event.IIOReadUpdateListener)
public void removeAllIIOReadUpdateListeners()
IIOReadUpdateListener
オブジェクトを削除します。
デフォルト実装では updateListeners
インスタンスの変数を null
に設定します。
protected void processSequenceStarted(int minIndex)
IIOReadProgressListener
に対し、その sequenceStarted
メソッドを呼び出すことで、イメージ読み込みのシーケンスの開始を通知します。サブクラスは、必要に応じてこのメソッドを使用できます。minIndex
- 読み取られた最小のインデックス。protected void processSequenceComplete()
IIOReadProgressListener
に対し、その sequenceComplete
メソッドを呼び出すことで、イメージ読み込みのシーケンスの完了を通知します。サブクラスは、必要に応じてこのメソッドを使用できます。protected void processImageStarted(int imageIndex)
IIOReadProgressListener
に対し、その imageStarted
メソッドを呼び出すことで、イメージ読み込みの開始を通知します。サブクラスは、必要に応じてこのメソッドを使用できます。imageIndex
- 読み取られるイメージのインデックス。protected void processImageProgress(float percentageDone)
IIOReadProgressListener
に対し、その imageProgress
メソッドを呼び出すことで、イメージ完成の現在の割合を通知します。サブクラスは、必要に応じてこのメソッドを使用できます。percentageDone
- float
としての現在の完成した割合。protected void processImageComplete()
IIOReadProgressListener
に対し、その imageComplete
メソッドを呼び出すことで、イメージ読み込みの完了を通知します。サブクラスは、必要に応じてこのメソッドを使用できます。protected void processThumbnailStarted(int imageIndex, int thumbnailIndex)
IIOReadProgressListener
に対し、その thumbnailStarted
メソッドを呼び出すことで、サムネール読み込みの開始を通知します。サブクラスは、必要に応じてこのメソッドを使用できます。imageIndex
- サムネールに関連付けられたイメージのインデックス。thumbnailIndex
- サムネールのインデックス。protected void processThumbnailProgress(float percentageDone)
IIOReadProgressListener
に対し、その thumbnailProgress
メソッドを呼び出すことで、サムネール完成の現在の割合を通知します。サブクラスは、必要に応じてこのメソッドを使用できます。percentageDone
- float
としての現在の完成した割合。protected void processThumbnailComplete()
IIOReadProgressListener
に対し、その thumbnailComplete
メソッドを呼び出すことで、サムネール読み込みの完了を通知します。サブクラスは、必要に応じてこのメソッドを使用できます。protected void processReadAborted()
readAborted
メソッドを呼び出すことで、読み込みが中断されたことを、登録されたすべての IIOReadProgressListener
に通知します。サブクラスは、必要に応じてこのメソッドを使用できます。protected void processPassStarted(BufferedImage theImage, int pass, int minPass, int maxPass, int minX, int minY, int periodX, int periodY, int[] bands)
IIOReadUpdateListener
に対し、その passStarted
メソッドを呼び出すことで、プログレッシブパスの開始を通知します。サブクラスは、必要に応じてこのメソッドを使用できます。theImage
- 更新される BufferedImage
。pass
- 0 から始まる現在のパスのインデックス。minPass
- 復号化される最初のパスのインデックス。maxPass
- 復号化される最後のパスのインデックス。minX
- パスに含まれる左上隅のピクセルの X 座標。minY
- パスに含まれる左上隅のピクセルの X 座標。periodX
- ピクセル間の水平方向の区切り。periodY
- ピクセル間の垂直方向の区切り。bands
- 影響を受けるデスティネーションバンドのセットを示す int
の配列。protected void processImageUpdate(BufferedImage theImage, int minX, int minY, int width, int height, int periodX, int periodY, int[] bands)
IIOReadUpdateListener
に対し、その imageUpdate
メソッドを呼び出すことで、サンプルのセットの更新を通知します。サブクラスは、必要に応じてこのメソッドを使用できます。theImage
- 更新される BufferedImage
。minX
- パスに含まれる左上隅のピクセルの X 座標。minY
- パスに含まれる左上隅のピクセルの X 座標。width
- periodX > 1
の場合にスキップされたピクセルを含む、更新された領域の幅の合計。height
- periodY > 1
の場合にスキップされたピクセルを含む、更新された領域の高さの合計。periodX
- ピクセル間の水平方向の区切り。periodY
- ピクセル間の垂直方向の区切り。bands
- 影響を受けるデスティネーションバンドのセットを示す int
の配列。protected void processPassComplete(BufferedImage theImage)
IIOReadUpdateListener
に対し、その passComplete
メソッドを呼び出すことで、プログレッシブパスの終了を通知します。サブクラスは、必要に応じてこのメソッドを使用できます。theImage
- 更新される BufferedImage
。protected void processThumbnailPassStarted(BufferedImage theThumbnail, int pass, int minPass, int maxPass, int minX, int minY, int periodX, int periodY, int[] bands)
IIOReadUpdateListener
に対し、その thumbnailPassStarted
メソッドを呼び出すことで、サムネールのプログレッシブパスの開始を通知します。サブクラスは、必要に応じてこのメソッドを使用できます。theThumbnail
- 更新される BufferedImage
サムネール。pass
- 0 から始まる現在のパスのインデックス。minPass
- 復号化される最初のパスのインデックス。maxPass
- 復号化される最後のパスのインデックス。minX
- パスに含まれる左上隅のピクセルの X 座標。minY
- パスに含まれる左上隅のピクセルの X 座標。periodX
- ピクセル間の水平方向の区切り。periodY
- ピクセル間の垂直方向の区切り。bands
- 影響を受けるデスティネーションバンドのセットを示す int
の配列。protected void processThumbnailUpdate(BufferedImage theThumbnail, int minX, int minY, int width, int height, int periodX, int periodY, int[] bands)
IIOReadUpdateListener
に対し、その thumbnailUpdate
メソッドを呼び出すことで、サムネールイメージのサンプルのセットの更新を通知します。サブクラスは、必要に応じてこのメソッドを使用できます。theThumbnail
- 更新される BufferedImage
サムネール。minX
- パスに含まれる左上隅のピクセルの X 座標。minY
- パスに含まれる左上隅のピクセルの X 座標。width
- periodX > 1
の場合にスキップされたピクセルを含む、更新された領域の幅の合計。height
- periodY > 1
の場合にスキップされたピクセルを含む、更新された領域の高さの合計。periodX
- ピクセル間の水平方向の区切り。periodY
- ピクセル間の垂直方向の区切り。bands
- 影響を受けるデスティネーションバンドのセットを示す int
の配列。protected void processThumbnailPassComplete(BufferedImage theThumbnail)
IIOReadUpdateListener
に対し、thumbnailPassComplete
メソッドを呼び出すことで、サムネールのプログレッシブパスの終了を通知します。サブクラスは、必要に応じてこのメソッドを使用できます。theThumbnail
- 更新される BufferedImage
サムネール。protected void processWarningOccurred(String warning)
warningOccurred
メソッドを呼び出すことで、警告メッセージを、登録されたすべての IIOReadWarningListener
に通知します。サブクラスは、必要に応じてこのメソッドを使用できます。warning
- 送信する警告メッセージ。IllegalArgumentException
- warning
が null
の場合。protected void processWarningOccurred(String baseName, String keyword)
ResourceBundle
から取得した文字列を持つ warningOccurred
メソッドを呼び出すことで、ローカライズされた警告メッセージを、登録されたすべての IIOReadWarningListener
に通知します。サブクラスは、必要に応じてこのメソッドを使用できます。baseName
- ローカライズされた警告メッセージを含む ResourceBundle
のセットのベース名。keyword
- ResourceBundle
内の警告メッセージにインデックスを付けるために使用されるキーワード。IllegalArgumentException
- baseName
が null
の場合。IllegalArgumentException
- keyword
が null
の場合。IllegalArgumentException
- 適切な ResourceBundle
が配置されない場合。IllegalArgumentException
- 名前付きのリソースが配置された ResourceBundle
で検出されない場合。IllegalArgumentException
- ResourceBundle
から取得したオブジェクトが String
ではない場合。public void reset()
ImageReader
を初期状態に復元します。
デフォルト実装は setInput(null, false)
、setLocale(null)
、removeAllIIOReadUpdateListeners()
、removeAllIIOReadWarningListeners()
、removeAllIIOReadProgressListeners()
、および clearAbortRequest
を呼び出します。
public void dispose()
finalize
以外のほかのメソッドの呼び出しの結果は未定義です。
アプリケーションは、この ImageReader
が不要になった時点でこのメソッドを呼び出すことが重要です。そうしないと、読み取り側はリソース上に無期限に存在し続ける可能性があります。
このメソッドのデフォルト実装は、スーパークラスでは何も実行しません。サブクラス実装で、すべてのリソース、特にネイティブリソースが解放されたことを確認してください。
protected static Rectangle getSourceRegion(ImageReadParam param, int srcWidth, int srcHeight)
ImageReadParam
のソース領域とサブサンプリングの座標の設定を考慮して、読み取り側が読み取るソースイメージの領域を計算するために使用するユーティリティーメソッドです。実際のサブサンプリング係数、デスティネーションのサイズ、およびデスティネーションの座標は考慮されません。このため、さらにクリッピングが必要になります。computeRegions
メソッドは必要なすべてのクリッピングを実行します。param
- 使用された ImageReadParam
、または null
。srcWidth
- ソースイメージの幅。srcHeight
- ソースイメージの高さ。Rectangle
としてのソース領域。protected static void computeRegions(ImageReadParam param, int srcWidth, int srcHeight, BufferedImage image, Rectangle srcRegion, Rectangle destRegion)
ImageReadParam
を考慮して、対象のソース領域および対象のデスティネーション領域を計算します。ソース領域は、全体のソースイメージから開始されます。ついで、ImageReadParam
に指定されたソース領域 (指定されている場合) にクリップされます。
デスティネーション座標のいずれかが負の場合、ソース領域はサブサンプリングを考慮して、左上がデスティネーションイメージの左上に一致するようにクリップされます。ついで、その結果がサブサンプリングおよびデスティネーション座標を考慮して、右および下のデスティネーションイメージ (指定されている場合) にクリップされます。
同じように、デスティネーション領域がソースイメージから開始され、ImageReadParam
に指定されたデスティネーション座標 (存在する場合) に変換され、最後にデスティネーションイメージ (存在する場合) にクリップされます。
ソースまたはデスティネーション領域のいずれかが幅または高さ 0 で終わる場合、IllegalArgumentException
がスローされます。
ソースのクリッピングだけが必要な場合は
メソッドを使用します。getSourceRegion
param
- ImageReadParam
、または null
。srcWidth
- ソースイメージの幅。srcHeight
- ソースイメージの高さ。image
- デスティネーションイメージとなる BufferedImage
、または null
。srcRegion
- 対象のソース領域が挿入される Rectangle
。destRegion
- 対象のデスティネーション領域が挿入される Rectangle
。IllegalArgumentException
- srcRegion
が null
の場合。IllegalArgumentException
- dstRegion
が null
の場合。IllegalArgumentException
- 結果のソースまたはデスティネーションが空の場合。protected static void checkReadParamBandSettings(ImageReadParam param, int numSrcBands, int numDstBands)
ImageReadParam
のソースおよびデスティネーションのバンド設定の有効性を判定するために、読み取り側が使用するユーティリティーメソッドです。このメソッドは、入力ストリームに存在するソースイメージのバンド数と書き込まれたデスティネーションイメージのバンド数の両方を、読み取り側が認識するとすぐに呼び出されます。
メソッドは、getSourceBands
と getDestinationBands
メソッドを使用して、param からソースおよびデスティネーションバンドの設定の配列を取り出します。param
が null
の場合は、これらは null
と見なします。ソースバンドの設定の配列が null
の場合、配列 { 0, 1, ..., numSrcBands - 1 }
と同等と見なします。デスティネーションバンドの設定の配列の場合も同様です。
次に、メソッドは、両方の配列が長さが等しく、どの配列とも有効なバンドの最大のインデックスより大きい値を持っていないことを判定します。
失敗すると、IllegalArgumentException
がスローされ、成功するとそのままメソッドが返されます。
param
- イメージの読み込みに使用された ImageReadParam
。numSrcBands
- 入力ソースに存在するイメージのバンドの数。numDstBands
- 書き込まれたデスティネーションイメージのバンドの数。IllegalArgumentException
- param
が、ソースまたはデスティネーション、あるいはその両方のバンドのサブセットの無効な仕様を持つ場合。protected static BufferedImage getDestination(ImageReadParam param, Iterator<ImageTypeSpecifier> imageTypes, int width, int height) throws IIOException
BufferedImage
を返します。イメージは、null
以外の場合、指定された ImageReadParam
を確認することにより判定されます。getDestination
メソッドが null
以外の値を返す場合は、単にそのイメージが返されます。それ以外の場合は、param.getDestinationType
メソッドが呼び出されて、特定のイメージの型が指定されているかどうかを確認します。その場合には、imageTypes
に含まれるものの 1 つと同じであることを確認してから、返された ImageTypeSpecifier
が使用されます。
param
が null
、または前述の手順がイメージあるいは ImageTypeSpecifier
を発生させない場合、imageTypes
パラメータから取得された最初の値が使用されます。通常、呼び出し側が imageTypes
を getImageTypes(imageIndex)
の値に設定します。
次に、イメージの寸法が computeRegions
の呼び出しによって決定されます。復号化されたイメージの実際の幅と高さが、width
および height
パラメータとして渡されます。
param
- デスティネーションイメージまたはイメージ型を取得するために使用する ImageReadParam
、または null
。imageTypes
- 正当なイメージ型を示す ImageTypeSpecifier
の Iterator
。デフォルトが最初。width
- 復号化が要求されるイメージまたはタイルの真の幅。height
- 復号化が要求されるイメージまたはタイルの真の幅。BufferedImage
。IIOException
- param
によって指定された ImageTypeSpecifier
が imageTypes
からの正当な型と一致しない場合。IllegalArgumentException
- imageTypes
が null
または空の場合、または ImageTypeSpecifier
が指定する型ではないオブジェクトを取り出した場合。IllegalArgumentException
- 結果のイメージが 1 より小さい幅または高さを持つ場合。IllegalArgumentException
- width
と height
の積が Integer.MAX_VALUE
より大きい場合。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.