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() |
このプラグインがピクセル・データの
Rasterだけの読込みをサポートする場合、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。ImageReaderSpipublic 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, IIOImagepublic 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ピクセル・データにアクセスできるようにします。
BufferedImageはないため、登録されたreadUpdateListenerは無視されますが、他のすべてのリスナーは、readメソッドの場合とまったく同様に呼び出されます。
canReadRaster()がfalseを返す場合、このメソッドはUnsupportedOperationExceptionをスローします。
指定されたImageReadParamが、この読取り側によってサポートされないオプションの設定値(たとえば、ソースの描画サイズや形式固有の設定)を保持する場合、これらは無視されます。
デフォルトの実装ではUnsupportedOperationExceptionをスローします。
imageIndex - 読み取られるイメージのインデックス。param - 読込みプロセスの制御に使用するImageReadParam、またはnull。Rasterとしてのイメージの必要な部分。UnsupportedOperationException - このプラグインがRasterの読込みをサポートしない場合。IllegalStateException - 入力ソースが設定されていない場合。IndexOutOfBoundsException - 指定したインデックスが範囲外にある場合。IOException - 読込み中にエラーが発生した場合。canReadRaster(), read(int), Rasterpublic 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の場合、readRaster(imageIndex, null)を呼び出します。0以外の場合はIllegalArgumentExceptionをスローします。
imageIndex - 取得されるイメージのインデックス。tileX - 取得されるタイルの0で始まる列インデックス。tileY - 取得されるタイルの0で始まる行インデックス。Rasterとしてのタイル。UnsupportedOperationException - このプラグインがRasterの読込みをサポートしない場合。IllegalArgumentException - タイルのインデックスが範囲外の場合。IllegalStateException - 入力ソースが設定されていない場合。IndexOutOfBoundsException - imageIndexが範囲外にある場合。IOException - 読込み中にエラーが発生した場合。readTile(int, int, int), readRaster(int, javax.imageio.ImageReadParam), Rasterpublic 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, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。