- java.lang.Object
-
- javax.imageio.ImageReader
-
public abstract class ImageReader extends Object
イメージを解析してデコードする抽象スーパー・クラスです。 このクラスは、Java Image I/Oフレームワークのコンテキストで、イメージを読み込むクラスによってサブクラス化されます。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
を、指定された値に設定します。
-
-
-
フィールドの詳細
-
originatingProvider
protected ImageReaderSpi originatingProvider
このオブジェクトをインスタンス化するImageReaderSpi
、または識別情報が不明であるか存在しない場合はnull
です。 デフォルトでは、null
に初期化されます。
-
input
protected Object input
ImageInputStream
またはsetInput
が設定して、getInput
が取り出したその他のObject
です。 デフォルトでは、null
に初期化されます。
-
seekForwardOnly
protected boolean seekForwardOnly
現在の入力ソースが、setInput
による順方向検索だけが可能となるように指定されている場合はtrue
です。 デフォルト値はfalse
です。
-
ignoreMetadata
protected boolean ignoreMetadata
現在の入力ソースが、setInput
によってメタデータが無視されるように指定されている場合はtrue
です。 デフォルト値はfalse
です。
-
minIndex
protected int minIndex
読込み用の最小有効インデックスは、初期状態で0です。seekForwardOnly
がtrue
の場合、さまざまなメソッドが、より小さいインデックスを持つイメージに関連付けられたデータにアクセスしようとしてIndexOutOfBoundsException
をスローします。
-
availableLocales
protected Locale[] availableLocales
警告メッセージのローカライズに使用するLocale
の配列、またはローカライズ版がサポートされていない場合はnull
です。
-
locale
protected Locale locale
ローカライズ版に使用する現在のLocale
、または設定されていない場合はnull
です。
-
warningListeners
protected List<IIOReadWarningListener> warningListeners
現在登録されている各IIOReadWarningListener
のList
です。デフォルトではnull
に初期化され、空のList
と同じ意味になります。
-
warningLocales
protected List<Locale> warningLocales
現在登録されている各IIOReadWarningListener
に関連付けられたLocale
のList
です。デフォルトではnull
に初期化され、空のList
と同じ意味になります。
-
progressListeners
protected List<IIOReadProgressListener> progressListeners
現在登録されている各IIOReadProgressListener
のList
です。デフォルトではnull
に初期化され、空のList
と同じ意味になります。
-
updateListeners
protected List<IIOReadUpdateListener> updateListeners
現在登録されている各IIOReadUpdateListener
のList
です。デフォルトではnull
に初期化され、空のList
と同じ意味になります。
-
-
コンストラクタの詳細
-
ImageReader
protected ImageReader(ImageReaderSpi originatingProvider)
ImageReader
を構築し、originatingProvider
フィールドを、指定された値に設定します。拡張機能を使用するサブクラスは、拡張オブジェクトを取り出すために、シグネチャ(
(ImageReaderSpi,Object)
)を持つコンストラクタを提供する必要があります。 拡張オブジェクトが適切でない場合、IllegalArgumentException
がスローされます。- パラメータ:
originatingProvider
- このコンストラクタを呼び出すImageReaderSpi
またはnull
。
-
-
メソッドの詳細
-
getFormatName
public String getFormatName() throws IOException
入力ソースの形式を識別するString
を返します。デフォルトの実装では
originatingProvider.getFormatNames()[0]
を返します。 発生元のサービス・プロバイダを持たないか、異なるネーミング・ポリシーが必要な実装はこのメソッドをオーバーライドする必要があります。- 戻り値:
String
としての形式名。- 例外:
IOException
- 入力ソースからの情報の読込みエラーが発生した場合。
-
getOriginatingProvider
public ImageReaderSpi getOriginatingProvider()
このコンストラクタに渡されたImageReaderSpi
を返します。 この値はnull
の場合があることに注意してください。- 戻り値:
ImageReaderSpi
、またはnull
。- 関連項目:
ImageReaderSpi
-
setInput
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()
-
setInput
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()
-
setInput
public void setInput(Object input)
指定されたImageInputStream
またはほかのObject
に使用するために入力ソースを設定します。 入力ソースは、照会または読込みメソッドを使用する前に設定します。input
がnull
の場合、現在設定されている入力ソースは削除されます。 どの場合も、minIndex
の値は0に初期化されます。このメソッドは、
setInput(input, false, false)
と同等です。- パラメータ:
input
-ImageInputStream
または今後、復号化で使用するほかのObject
。- 例外:
IllegalArgumentException
-input
が発生元サービス・プロバイダのgetInputTypes
メソッドによって返されたいずれかのクラスのインスタンスではない場合、またはImageInputStream
ではない場合。- 関連項目:
getInput()
-
getInput
public Object getInput()
ImageInputStream
または以前に入力ソースとして設定されたほかのObject
を返します。 入力ソースが設定されていない場合、null
が返されます。- 戻り値:
- 今後、復号化で使用される
Object
またはnull
。 - 関連項目:
ImageInputStream
,setInput(java.lang.Object, boolean, boolean)
-
isSeekForwardOnly
public boolean isSeekForwardOnly()
現在の入力ソースが、setInput
メソッドのseekForwardOnly
引数としてtrue
を渡すことにより、順方向検索だけで実施と指定されている場合はtrue
を返します。- 戻り値:
- 入力ソースが順方向検索だけの場合は
true
。 - 関連項目:
setInput(java.lang.Object, boolean, boolean)
-
isIgnoringMetadata
public boolean isIgnoringMetadata()
現在の入力ソースが、setInput
メソッドのignoreMetadata
引数としてtrue
を渡すことにより、メタデータを無視できるように指定されている場合はtrue
を返します。- 戻り値:
- メタデータが無視できる場合は
true
。 - 関連項目:
setInput(java.lang.Object, boolean, boolean)
-
getMinIndex
public int getMinIndex()
イメージ、サムネール、またはイメージ・メタデータの読込みに対して有効な、最小のインデックスを返します。seekForwardOnly()
がfalse
の場合、この値は通常0のままとなり、ランダム・アクセスが可能であることを示します。 それ以外の場合、直前にアクセスされたインデックスの値を保持し、単調に増加します。- 戻り値:
- 読込み用の正当な最小インデックス
-
getAvailableLocales
public Locale[] getAvailableLocales()
警告リスナーと圧縮設定のローカライズに使用するLocale
の配列を返します。 戻り値null
は、ローカライズ版がサポートされていないことを示します。デフォルトの実装では、それが
null
以外の場合はavailableLocales
インスタンス変数のクローンを返し、それ以外の場合はnull
を返します。- 戻り値:
setLocale
の引数として使用するLocale
の配列、またはnull
。
-
setLocale
public void setLocale(Locale locale)
このImageReader
の現在のLocale
を、指定された値に設定します。 値null
は、以前の設定を削除して、読取り側が適切にローカライズする必要があることを示します。- パラメータ:
locale
- 目的のLocale
、またはnull
。- 例外:
IllegalArgumentException
-locale
がnull
ではないが、getAvailableLocales
によって返された値の1つではない場合。- 関連項目:
getLocale()
-
getLocale
public Locale getLocale()
現在設定されているLocale
、何も設定されていない場合はnull
を返します。- 戻り値:
- 現在の
Locale
、またはnull
。 - 関連項目:
setLocale(java.util.Locale)
-
getNumImages
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)
-
getWidth
public abstract int getWidth(int imageIndex) throws IOException
入力ソースの指定されたイメージの幅をピクセル単位で返します。ユーザー指定のサイズでイメージを描画できる場合、このメソッドはデフォルトの幅を返します。
- パラメータ:
imageIndex
- 照会されるイメージのインデックス。- 戻り値:
int
としてのイメージの幅。- 例外:
IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定したインデックスが範囲外にある場合。IOException
- 入力ソースからの幅情報の読込みでエラーが発生した場合。
-
getHeight
public abstract int getHeight(int imageIndex) throws IOException
入力ソースの指定されたイメージの高さをピクセル単位で返します。ユーザー指定のサイズでイメージを描画できる場合、このメソッドはデフォルトの高さを返します。
- パラメータ:
imageIndex
- 照会されるイメージのインデックス。- 戻り値:
int
としてのイメージの高さ。- 例外:
IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定したインデックスが範囲外にある場合。IOException
- 入力ソースからの高さ情報の読込みでエラーが発生した場合。
-
isRandomAccessEasy
public boolean isRandomAccessEasy(int imageIndex) throws IOException
ピクセルへのランダム・アクセスに関して、指定されたイメージの格納形式に固有の障害が何もない場合はtrue
を返します。 JPEGなどほとんどの圧縮形式では、対象の領域に加えて大規模なセクションを復号化する必要があるため、このメソッドはfalse
を返します。これはプログラムを効率的に行うためのヒントにすぎません。すべての読取り側は
ImageReadParam
に指定されているとおり、任意の領域を読み取る必要があります。その場合でも、このメソッドから
false
を返す形式は、JPEGのRestart Marker のようなタイリングが可能であり、タイル上のランダム・アクセスが非常に効率的になることに注意してください。isImageTiled
を参照してください。すべてのイメージが簡単なランダム・アクセスのサポートを保証されている読取り側、または簡単なランダム・アクセスのサポートが保証されない読取り側は、イメージ・データにアクセスせずに、それぞれ
true
またはfalse
を返します。 このような場合、入力ソースが設定されていないか、またはイメージのインデックスが範囲外にある場合でも、例外をスローする必要はありません。デフォルトの実装では
false
を返します。- パラメータ:
imageIndex
- 照会されるイメージのインデックス。- 戻り値:
- 指定されたイメージの対象領域の読込みが効率的になると考えられる場合は
true
。 - 例外:
IllegalStateException
- 入力ソースが戻り値の決定を要求される場合で、何も設定されていない場合。IndexOutOfBoundsException
- 戻り値を決定するためにイメージにアクセスする必要があるが、指定されたインデックスが範囲外にある場合。IOException
- 読込み中にエラーが発生した場合。
-
getAspectRatio
public float getAspectRatio(int imageIndex) throws IOException
指定されたイメージの縦横比(つまり、幅を高さで割った値)をfloat
で返します。 本来サイズ変更が可能なイメージの場合、このメソッドは指定された高さに対して適切な幅(またはその逆)を決定する方法を提供します。 サイズ変更ができないイメージの場合、実際の幅と高さを使用します。デフォルトの実装では、
(float)getWidth(imageIndex)/getHeight(imageIndex)
を返すだけです。- パラメータ:
imageIndex
- 照会されるイメージのインデックス。- 戻り値:
- 指定されたイメージの縦横比を示す
float
。 - 例外:
IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定したインデックスが範囲外にある場合。IOException
- 読込み中にエラーが発生した場合。
-
getRawImageType
public ImageTypeSpecifier getRawImageType(int imageIndex) throws IOException
イメージのraw内部形式にもっとも近い形式を表すSampleModel
とColorModel
を示して、ImageTypeSpecifier
を返します。 一致するものがない場合、イメージから最も多くの情報を保持する型が返されます。 また、戻り値はgetImageTypes
によって返された値のリストに含まれる必要があります。デフォルト実装は、
getImageType
が提供するリストから最初のエントリを返すだけです。- パラメータ:
imageIndex
- 照会されるイメージのインデックス。- 戻り値:
ImageTypeSpecifier
。- 例外:
IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定したインデックスが範囲外にある場合。IOException
- 入力ソースからの形式情報の読込みでエラーが発生した場合。
-
getImageTypes
public abstract Iterator<ImageTypeSpecifier> getImageTypes(int imageIndex) throws IOException
ImageTypeSpecifiers
の形式で指定されたイメージが復号化されるイメージ型を含むIterator
を返します。 少なくとも1つの有効なイメージ型が返されます。イテレータの最初の要素は、イメージを最小の損失で復号化するために、もっとも「自然な」型でなければいけません。 たとえば、JPEGイメージの場合、イメージ・データが内部的にYCbCrカラー・スペースに格納されている場合でも、最初のエントリはRGBイメージになります。
- パラメータ:
imageIndex
-取得
されるイメージのインデックス。- 戻り値:
- 現在指定されているイメージを復号化するために、推奨されたイメージ型を表す、少なくとも1つの
ImageTypeSpecifier
を保持するIterator
。 - 例外:
IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定したインデックスが範囲外にある場合。IOException
- 入力ソースからの形式情報の読込みでエラーが発生した場合。- 関連項目:
ImageReadParam.setDestination(BufferedImage)
,IIOParam.setDestinationType(ImageTypeSpecifier)
-
getDefaultReadParam
public ImageReadParam getDefaultReadParam()
この形式に対して適切なデフォルトのImageReadParam
オブジェクトを返します。 すべてのサブクラスは、すべてのパラメータのデフォルト値のセットを定義して、この呼出しでそれらを返さなければいけません。 このメソッドは、入力ソースが設定される前に呼び出されます。デフォルト実装は、ソースのスケーリングを実行できない新しい
ImageReadParam
オブジェクトを構築して返します。つまり、new ImageReadParam()
を返します。- 戻り値:
- 一連のデフォルト設定を使用して、復号化プロセスを制御するために使用される
ImageReadParam
オブジェクト。
-
getStreamMetadata
public abstract IIOMetadata getStreamMetadata() throws IOException
入力ソースに全体として関連付けられた、つまり特定のイメージに関連付けられていないメタデータを表すIIOMetadata
オブジェクトを返します。または、読取り側がメタデータを無視するよう設定され、メタデータの読込みをサポートしていない場合、あるいはメタデータが使用できない場合はnull
を返します。- 戻り値:
IIOMetadata
オブジェクト、またはnull
。- 例外:
IOException
- 読込み中にエラーが発生した場合。
-
getStreamMetadata
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
- 読込み中にエラーが発生した場合。
-
getImageMetadata
public abstract IIOMetadata getImageMetadata(int imageIndex) throws IOException
指定されたイメージに関連付けられたメタデータを保持するIIOMetadata
オブジェクトを返します。または、読取り側がメタデータを無視するよう設定され、メタデータの読込みをサポートしていない場合、あるいはメタデータが使用できない場合はnull
を返します。- パラメータ:
imageIndex
- メタデータの取得元イメージのインデックス。- 戻り値:
IIOMetadata
オブジェクト、またはnull
。- 例外:
IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定したインデックスが範囲外にある場合。IOException
- 読込み中にエラーが発生した場合。
-
getImageMetadata
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
- 読込み中にエラーが発生した場合。
-
read
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
- 読込み中にエラーが発生した場合。
-
read
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
- 読込み中にエラーが発生した場合。
-
readAll
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
- 読込み中にエラーが発生した場合。
-
readAll
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
-
canReadRaster
public boolean canReadRaster()
このプラグインがピクセル・データのRaster
だけの読込みをサポートする場合、true
を返します。 このメソッドがfalse
を返す場合、readRaster
またはreadTileRaster
の呼出しはUnsupportedOperationException
をスローします。デフォルトの実装では
false
を返します。- 戻り値:
- このプラグインがraw
Raster
の読込みをサポートする場合はtrue
。 - 関連項目:
readRaster(int, javax.imageio.ImageReadParam)
,readTileRaster(int, int, int)
-
readRaster
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)
,Raster
-
isImageTiled
public boolean isImageTiled(int imageIndex) throws IOException
イメージがタイル、つまりオーバーラップしない等しいサイズの矩形に組み入れられる場合はtrue
を返します。読取り側のプラグインは、イメージに存在するタイリングを格納されているとおりに表示するかどうかを選択できます。 明らかに何も存在しない場合でも、タイリングの通知を選択できます。 一般に、個々のタイルにアクセスするときに何らかの利点(速度や容量など)がある場合にだけ、タイリングは通知されます。 読取り側は、タイリングを通知するかどうかにかかわらず、
ImageReadParam
に指定された任意の矩形領域を読み取ることができる必要があります。すべてのイメージをタイリングするように保証されている、あるいはタイリングしないように保証されている読取り側は、イメージ・データにアクセスせずにそれぞれ
true
またはfalse
を返します。 このような場合、入力ソースが設定されていないか、またはイメージのインデックスが範囲外にある場合でも、例外をスローする必要はありません。デフォルト実装は
false
を返します。- パラメータ:
imageIndex
- 照会されるイメージのインデックス。- 戻り値:
- イメージがタイリングされる場合は
true
。 - 例外:
IllegalStateException
- 入力ソースが戻り値の決定を要求される場合で、何も設定されていない場合。IndexOutOfBoundsException
- 戻り値を決定するためにイメージにアクセスする必要があるが、指定されたインデックスが範囲外にある場合。IOException
- 読込み中にエラーが発生した場合。
-
getTileWidth
public int getTileWidth(int imageIndex) throws IOException
指定されたイメージのタイルの幅を返します。デフォルト実装では、単にタイリングされないイメージに対して正しい
getWidth(imageIndex)
を返します。 タイリングをサポートする読取り側は、このメソッドをオーバーライドする必要があります。- パラメータ:
imageIndex
- 照会されるイメージのインデックス。- 戻り値:
- タイルの幅
- 例外:
IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定したインデックスが範囲外にある場合。IOException
- 読込み中にエラーが発生した場合。
-
getTileHeight
public int getTileHeight(int imageIndex) throws IOException
指定されたイメージのタイルの高さを返します。デフォルト実装では、単にタイリングされないイメージに対して正しい
getHeight(imageIndex)
を返します。 タイリングをサポートする読取り側は、このメソッドをオーバーライドする必要があります。- パラメータ:
imageIndex
- 照会されるイメージのインデックス。- 戻り値:
- タイルの高さ
- 例外:
IllegalStateException
- 入力ソースが設定されていない場合。IndexOutOfBoundsException
- 指定したインデックスが範囲外にある場合。IOException
- 読込み中にエラーが発生した場合。
-
getTileGridXOffset
public int getTileGridXOffset(int imageIndex) throws IOException
指定されたイメージのタイル(0, 0)の左上隅のX座標を返します。タイル・グリッドのX座標が常に同じ値(通常は0)を持つ読取り側は、イメージ・データにアクセスせずに値を返します。 このような場合、入力ソースが設定されていないか、またはイメージのインデックスが範囲外にある場合でも、例外をスローする必要はありません。
デフォルト実装は、ほとんどの形式のタイリングされないイメージとタイリングされたイメージに対して正しい値0を返すだけです。 (0, 0)以外の座標を持つタイリングをサポートする読取り側は、このメソッドをオーバーライドする必要があります。
- パラメータ:
imageIndex
- 照会されるイメージのインデックス。- 戻り値:
- タイル・グリッドのX座標
- 例外:
IllegalStateException
- 入力ソースが戻り値の決定を要求される場合で、何も設定されていない場合。IndexOutOfBoundsException
- 戻り値を決定するためにイメージにアクセスする必要があるが、指定されたインデックスが範囲外にある場合。IOException
- 読込み中にエラーが発生した場合。
-
getTileGridYOffset
public int getTileGridYOffset(int imageIndex) throws IOException
指定されたイメージのタイル(0, 0)の左上隅のY座標を返します。タイル・グリッドのY座標が常に同じ値(通常は0)を持つ読取り側は、イメージ・データにアクセスせずに値を返します。 このような場合、入力ソースが設定されていないか、またはイメージのインデックスが範囲外にある場合でも、例外をスローする必要はありません。
デフォルト実装は、ほとんどの形式のタイリングされないイメージとタイリングされたイメージに対して正しい値0を返すだけです。 (0, 0)以外の座標を持つタイリングをサポートする読取り側は、このメソッドをオーバーライドする必要があります。
- パラメータ:
imageIndex
- 照会されるイメージのインデックス。- 戻り値:
- タイル・グリッドのY座標
- 例外:
IllegalStateException
- 入力ソースが戻り値の決定を要求される場合で、何も設定されていない場合。IndexOutOfBoundsException
- 戻り値を決定するためにイメージにアクセスする必要があるが、指定されたインデックスが範囲外にある場合。IOException
- 読込み中にエラーが発生した場合。
-
readTile
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
- 読込み中にエラーが発生した場合。
-
readTileRaster
public Raster readTileRaster(int imageIndex, int tileX, int tileY) throws IOException
色変換を適用せずに、タイルからのrawピクセル・データを保持する新しい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)
,Raster
-
readAsRenderedImage
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
- 読込み中にエラーが発生した場合。
-
readerSupportsThumbnails
public boolean readerSupportsThumbnails()
この読取り側によって認識されるイメージ形式が、それに関連付けられたサムネール・プレビュー・イメージをサポートする場合、true
を返します。 デフォルトの実装ではfalse
を返します。このメソッドが
false
を返す場合、hasThumbnails
とgetNumThumbnails
は、それぞれfalse
と0
を返します。また、readThumbnail
は、引数にかかわらずUnsupportedOperationException
を返します。サムネールをサポートしない読取り側は、サムネールに関連するメソッドを実装する必要がありません。
- 戻り値:
- サムネールがサポートされる場合は
true
。
-
hasThumbnails
public boolean hasThumbnails(int imageIndex) throws IOException
指定されたイメージが、それに関連付けられたサムネール・プレビュー・イメージを持つ場合、true
を返します。 形式がサムネールをサポートしない場合、つまりreaderSupportsThumbnails
がfalse
を返す場合、入力ソースが設定されているかどうか、またはimageIndex
が境界内にあるかどうかにかかわらずfalse
を返します。getNumThumbnails
が0より大きい値を返す場合、デフォルト実装はtrue
を返します。- パラメータ:
imageIndex
- 照会されるイメージのインデックス。- 戻り値:
- 指定されたイメージがサムネールの場合は
true
。 - 例外:
IllegalStateException
- 読取り側がサムネールをサポートするが、入力ソースが設定されていない場合。IndexOutOfBoundsException
- 読取り側がサムネールをサポートするが、imageIndex
が範囲外にある場合。IOException
- 読込み中にエラーが発生した場合。
-
getNumThumbnails
public int getNumThumbnails(int imageIndex) throws IOException
指定されたイメージに関連付けられたサムネール・プレビュー・イメージの数を返します。 形式がサムネールをサポートしない場合、つまりreaderSupportsThumbnails
がfalse
を返す場合、入力ソースが設定されているかどうか、またはimageIndex
が境界内にあるかどうかにかかわらず0
を返します。デフォルト実装は、その引数を確認することなく、0を返します。
- パラメータ:
imageIndex
- 照会されるイメージのインデックス。- 戻り値:
- 指定されたイメージに関連付けられたサムネールの数。
- 例外:
IllegalStateException
- 読取り側がサムネールをサポートするが、入力ソースが設定されていない場合。IndexOutOfBoundsException
- 読取り側がサムネールをサポートするが、imageIndex
が範囲外にある場合。IOException
- 読込み中にエラーが発生した場合。
-
getThumbnailWidth
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
- 読込み中にエラーが発生した場合。
-
getThumbnailHeight
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
- 読込み中にエラーが発生した場合。
-
readThumbnail
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
- 読込み中にエラーが発生した場合。
-
abort
public void abort()
現在の読込みオペレーションの中断を要求します。 中断後のイメージの内容は定義されません。読取り側は各読込みオペレーションの開始時に
clearAbortRequest
を呼び出して、読込み中にabortRequested
の値を定期的にポーリングする必要があります。
-
abortRequested
protected boolean abortRequested()
読取り側がインスタンス化されたか、またはclearAbortRequest
が呼び出されたため、現在の読込みオペレーションを中断するリクエストが行われた場合、true
を返します。- 戻り値:
- 現在の読込みオペレーションを中断する必要がある場合は
true
。 - 関連項目:
abort()
,clearAbortRequest()
-
clearAbortRequest
protected void clearAbortRequest()
以前の中断リクエストをクリアします。 このメソッドが呼び出されると、abortRequested
はfalse
を返します。- 関連項目:
abort()
,abortRequested()
-
addIIOReadWarningListener
public void addIIOReadWarningListener(IIOReadWarningListener listener)
登録された警告リスナーのリストにIIOReadWarningListener
を追加します。listener
がnull
の場合、例外はスローされず、何も処理は行われません。 指定されたリスナーに送られたメッセージは、可能であれば、現在のLocale
に合うようにローカライズされます。Locale
が設定されていない場合は、読取り側に適合するよう警告メッセージをローカライズできます。- パラメータ:
listener
- 登録されるIIOReadWarningListener
。- 関連項目:
removeIIOReadWarningListener(javax.imageio.event.IIOReadWarningListener)
-
removeIIOReadWarningListener
public void removeIIOReadWarningListener(IIOReadWarningListener listener)
登録されたエラー・リスナーのリストから、IIOReadWarningListener
を削除します。 以前にリスナーが登録されていない場合、またはlistener
がnull
の場合、例外はスローされず、何も処理は行われません。- パラメータ:
listener
- 登録解除されるIIOReadWarningListener。- 関連項目:
addIIOReadWarningListener(javax.imageio.event.IIOReadWarningListener)
-
removeAllIIOReadWarningListeners
public void removeAllIIOReadWarningListeners()
現在登録されているすべてのIIOReadWarningListener
オブジェクトを削除します。デフォルト実装では
warningListeners
とwarningLocales
インスタンスの変数をnull
に設定します。
-
addIIOReadProgressListener
public void addIIOReadProgressListener(IIOReadProgressListener listener)
登録された進捗リスナーのリストにIIOReadProgressListener
を追加します。listener
がnull
の場合、例外はスローされず、何も処理は行われません。- パラメータ:
listener
- 登録されるIIOReadProgressListener。- 関連項目:
removeIIOReadProgressListener(javax.imageio.event.IIOReadProgressListener)
-
removeIIOReadProgressListener
public void removeIIOReadProgressListener(IIOReadProgressListener listener)
登録された進捗リスナーのリストから、IIOReadProgressListener
を削除します。 以前にリスナーが登録されていない場合、またはlistener
がnull
の場合、例外はスローされず、何も処理は行われません。- パラメータ:
listener
- 登録解除されるIIOReadProgressListener。- 関連項目:
addIIOReadProgressListener(javax.imageio.event.IIOReadProgressListener)
-
removeAllIIOReadProgressListeners
public void removeAllIIOReadProgressListeners()
現在登録されているすべてのIIOReadProgressListener
オブジェクトを削除します。デフォルト実装では
progressListeners
インスタンスの変数をnull
に設定します。
-
addIIOReadUpdateListener
public void addIIOReadUpdateListener(IIOReadUpdateListener listener)
IIOReadUpdateListener
を、登録された更新リスナーのリストに追加します。listener
がnull
の場合、例外はスローされず、何も処理は行われません。 リスナーは、イメージとサムネールが復号化されるときに、プログレッシブ・パスの開始と終了を含むピクセル・データ更新の通知を受け取ります。更新リスナーが存在しない場合、読取り側はデスティネーション・イメージまたはサムネール、あるいはその両方のピクセルの更新を、より少なく実行するように選択できます。これにより、復号化がより効率的に行われるようになります。
たとえば、プログレッシブJPEGデコーディングでは、各パスに一連の係数の更新が含まれます。リスナーが存在する場合、これらの係数はピクセル値に変換され、各パスのRGBカラー・スペースに変換される必要があります。 リスナーが存在しない場合、係数は単純に累積され、最終結果の変換と色の変換が一度だけ行われます。
復号化の最終結果は、中間更新が実行されているかどうかに関係なく同じです。 したがって、最終イメージだけが必要な場合は、
IIOReadUpdateListener
を登録しないほうが望ましい結果が得られます。 一般的には、ローカルCPUの処理に比べて非常に遅いネットワーク接続を介してイメージを取得する場合は、プログレッシブな更新がもっとも効率的です。高速接続による場合は、プログレッシブな更新によりイメージの表示が実際には遅くなります。- パラメータ:
listener
- 登録されるIIOReadUpdateListener。- 関連項目:
removeIIOReadUpdateListener(javax.imageio.event.IIOReadUpdateListener)
-
removeIIOReadUpdateListener
public void removeIIOReadUpdateListener(IIOReadUpdateListener listener)
登録された更新リスナーのリストから、IIOReadUpdateListener
を削除します。 以前にリスナーが登録されていない場合、またはlistener
がnull
の場合、例外はスローされず、何も処理は行われません。- パラメータ:
listener
- 登録解除されるIIOReadUpdateListener。- 関連項目:
addIIOReadUpdateListener(javax.imageio.event.IIOReadUpdateListener)
-
removeAllIIOReadUpdateListeners
public void removeAllIIOReadUpdateListeners()
現在登録されているすべてのIIOReadUpdateListener
オブジェクトを削除します。デフォルト実装では
updateListeners
インスタンスの変数をnull
に設定します。
-
processSequenceStarted
protected void processSequenceStarted(int minIndex)
登録されたすべてのIIOReadProgressListener
に対し、そのsequenceStarted
メソッドを呼び出すことで、イメージ読込みのシーケンスの開始を通知します。 サブクラスは、必要に応じてこのメソッドを使用できます。- パラメータ:
minIndex
- 読み取られた最小のインデックス。
-
processSequenceComplete
protected void processSequenceComplete()
登録されたすべてのIIOReadProgressListener
に対し、そのsequenceComplete
メソッドを呼び出すことで、イメージ読込みのシーケンスの完了を通知します。 サブクラスは、必要に応じてこのメソッドを使用できます。
-
processImageStarted
protected void processImageStarted(int imageIndex)
登録されたすべてのIIOReadProgressListener
に対し、そのimageStarted
メソッドを呼び出すことで、イメージ読込みの開始を通知します。 サブクラスは、必要に応じてこのメソッドを使用できます。- パラメータ:
imageIndex
- 読み取られるイメージのインデックス。
-
processImageProgress
protected void processImageProgress(float percentageDone)
登録されたすべてのIIOReadProgressListener
に対し、そのimageProgress
メソッドを呼び出すことで、イメージ完成の現在の割合を通知します。 サブクラスは、必要に応じてこのメソッドを使用できます。- パラメータ:
percentageDone
-float
としての現在の完成した割合。
-
processImageComplete
protected void processImageComplete()
登録されたすべてのIIOReadProgressListener
に対し、そのimageComplete
メソッドを呼び出すことで、イメージ読込みの完了を通知します。 サブクラスは、必要に応じてこのメソッドを使用できます。
-
processThumbnailStarted
protected void processThumbnailStarted(int imageIndex, int thumbnailIndex)
登録されたすべてのIIOReadProgressListener
に対し、そのthumbnailStarted
メソッドを呼び出すことで、サムネール読込みの開始を通知します。 サブクラスは、必要に応じてこのメソッドを使用できます。- パラメータ:
imageIndex
- サムネールに関連付けられたイメージのインデックス。thumbnailIndex
- サムネールのインデックス。
-
processThumbnailProgress
protected void processThumbnailProgress(float percentageDone)
登録されたすべてのIIOReadProgressListener
に対し、そのthumbnailProgress
メソッドを呼び出すことで、サムネール完成の現在の割合を通知します。 サブクラスは、必要に応じてこのメソッドを使用できます。- パラメータ:
percentageDone
-float
としての現在の完成した割合。
-
processThumbnailComplete
protected void processThumbnailComplete()
登録されたすべてのIIOReadProgressListener
に対し、そのthumbnailComplete
メソッドを呼び出すことで、サムネール読込みの完了を通知します。 サブクラスは、必要に応じてこのメソッドを使用できます。
-
processReadAborted
protected void processReadAborted()
readAborted
メソッドを呼び出すことで、読込みが中断されたことを、登録されたすべてのIIOReadProgressListener
に通知します。 サブクラスは、必要に応じてこのメソッドを使用できます。
-
processPassStarted
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
の配列。
-
processImageUpdate
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
の配列。
-
processPassComplete
protected void processPassComplete(BufferedImage theImage)
登録されたすべてのIIOReadUpdateListener
に対し、そのpassComplete
メソッドを呼び出すことで、プログレッシブ・パスの終了を通知します。 サブクラスは、必要に応じてこのメソッドを使用できます。- パラメータ:
theImage
- 更新されるBufferedImage
。
-
processThumbnailPassStarted
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
の配列。
-
processThumbnailUpdate
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
の配列。
-
processThumbnailPassComplete
protected void processThumbnailPassComplete(BufferedImage theThumbnail)
登録されたすべてのIIOReadUpdateListener
に対し、thumbnailPassComplete
メソッドを呼び出すことで、サムネールのプログレッシブ・パスの終了を通知します。 サブクラスは、必要に応じてこのメソッドを使用できます。- パラメータ:
theThumbnail
- 更新されるBufferedImage
サムネール。
-
processWarningOccurred
protected void processWarningOccurred(String warning)
warningOccurred
メソッドを呼び出すことで、警告メッセージを、登録されたすべてのIIOReadWarningListener
に通知します。 サブクラスは、必要に応じてこのメソッドを使用できます。- パラメータ:
warning
- 送信する警告メッセージ。- 例外:
IllegalArgumentException
-warning
がnull
の場合。
-
processWarningOccurred
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
ではない場合。
-
reset
public void reset()
ImageReader
を初期状態に復元します。デフォルト実装は
setInput(null, false)
、setLocale(null)
、removeAllIIOReadUpdateListeners()
、removeAllIIOReadWarningListeners()
、removeAllIIOReadProgressListeners()
、およびclearAbortRequest
を呼び出します。
-
dispose
public void dispose()
このオブジェクトが保持するすべてのリソースを解放できるようにします。 このメソッドの呼出しのあとに続くfinalize
以外のほかのメソッドの呼出しの結果は未定義です。アプリケーションは、この
ImageReader
が不要になった時点でこのメソッドを呼び出すことが重要です。 そうしないと、読取り側はリソース上に無期限に存在し続ける可能性があります。このメソッドのデフォルト実装は、スーパー・クラスでは何も実行しません。 サブクラス実装で、すべてのリソース、特にネイティブ・リソースが解放されたことを確認してください。
-
getSourceRegion
protected static Rectangle getSourceRegion(ImageReadParam param, int srcWidth, int srcHeight)
指定されたImageReadParam
のソース領域とサブサンプリングの座標の設定を考慮して、読取り側が読み取るソース・イメージの領域を計算するために使用するユーティリティ・メソッドです。 実際のサブサンプリング係数、デスティネーションのサイズ、およびデスティネーションの座標は考慮されません。このため、さらにクリッピングが必要になります。computeRegions
メソッドは必要なすべてのクリッピングを実行します。- パラメータ:
param
- 使用されたImageReadParam
、またはnull
。srcWidth
- ソース・イメージの幅。srcHeight
- ソース・イメージの高さ。- 戻り値:
Rectangle
としてのソース領域。
-
computeRegions
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
- 結果のソースまたはデスティネーションが空の場合。
-
checkReadParamBandSettings
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
が、ソースまたはデスティネーション、あるいはその両方のバンドのサブセットの無効な仕様を持つ場合。
-
getDestination
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
より大きい場合。
-
-