モジュール java.desktop
パッケージ 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
      現在登録されている各IIOReadProgressListenerListです。デフォルトではnullに初期化され、空のListと同じ意味になります。
      protected boolean seekForwardOnly
      現在の入力ソースが、setInputによる順方向検索だけが可能となるように指定されている場合はtrueです。
      protected List<IIOReadUpdateListener> updateListeners
      現在登録されている各IIOReadUpdateListenerListです。デフォルトではnullに初期化され、空のListと同じ意味になります。
      protected List<IIOReadWarningListener> warningListeners
      現在登録されている各IIOReadWarningListenerListです。デフォルトではnullに初期化され、空のListと同じ意味になります。
      protected List<Locale> warningLocales
      現在登録されている各IIOReadWarningListenerに関連付けられたLocaleListです。デフォルトでは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内部形式にもっとも近い形式を表すSampleModelColorModelを示して、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です。
        関連項目:
        minIndex, setInput(java.lang.Object, boolean, boolean)
      • ignoreMetadata

        protected boolean ignoreMetadata
        現在の入力ソースが、setInputによってメタデータが無視されるように指定されている場合はtrueです。 デフォルト値はfalseです。
        関連項目:
        setInput(java.lang.Object, boolean, boolean)
      • minIndex

        protected int minIndex
        読込み用の最小有効インデックスは、初期状態で0です。 seekForwardOnlytrueの場合、さまざまなメソッドが、より小さいインデックスを持つイメージに関連付けられたデータにアクセスしようとしてIndexOutOfBoundsExceptionをスローします。
        関連項目:
        seekForwardOnly, setInput(java.lang.Object, boolean, boolean)
      • availableLocales

        protected Locale[] availableLocales
        警告メッセージのローカライズに使用するLocaleの配列、またはローカライズ版がサポートされていない場合はnullです。
      • locale

        protected Locale locale
        ローカライズ版に使用する現在のLocale、または設定されていない場合はnullです。
      • warningListeners

        protected List<IIOReadWarningListener> warningListeners
        現在登録されている各IIOReadWarningListenerListです。デフォルトではnullに初期化され、空のListと同じ意味になります。
      • warningLocales

        protected List<Locale> warningLocales
        現在登録されている各IIOReadWarningListenerに関連付けられたLocaleListです。デフォルトではnullに初期化され、空のListと同じ意味になります。
      • progressListeners

        protected List<IIOReadProgressListener> progressListeners
        現在登録されている各IIOReadProgressListenerListです。デフォルトではnullに初期化され、空のListと同じ意味になります。
      • updateListeners

        protected List<IIOReadUpdateListener> updateListeners
        現在登録されている各IIOReadUpdateListenerListです。デフォルトでは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に使用するために入力ソースを設定します。 入力ソースは、照会または読込みメソッドを使用する前に設定します。 inputnullの場合、現在設定されている入力ソースは削除されます。 どの場合も、minIndexの値は0に初期化されます。

        seekForwardOnlyパラメータは、getMinIndexによって返された値が、イメージ、サムネール、またはイメージ・メタデータが読み取られるごとに増加するかどうかを制御します。 seekForwardOnlyがtrueの場合、index < this.minIndexの場合はread(index)の呼出しによってIndexOutOfBoundsExceptionがスローされます。それ以外の場合は、minIndexの値がindexに設定されます。 seekForwardOnlyfalseの場合、読込みオペレーションにかかわらずminIndexの値は0のままになります。

        trueに設定されている場合、ignoreMetadataパラメータは、読込み中に発生したメタデータを読取り側が無視できるようにします。 そのあとのgetStreamMetadataおよびgetImageMetadataメソッドの呼出しはnullを返し、readAllから返されたIIOImagegetMetadataメソッドから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に使用するために入力ソースを設定します。 入力ソースは、照会または読込みメソッドを使用する前に設定します。 inputnullの場合、現在設定されている入力ソースは削除されます。 どの場合も、minIndexの値は0に初期化されます。

        seekForwardOnlyパラメータは、getMinIndexによって返された値が、イメージ、サムネール、またはイメージ・メタデータが読み取られるごとに増加するかどうかを制御します。 seekForwardOnlyがtrueの場合、index < this.minIndexの場合はread(index)の呼出しによってIndexOutOfBoundsExceptionがスローされます。それ以外の場合は、minIndexの値がindexに設定されます。 seekForwardOnlyfalseの場合、読込みオペレーションにかかわらずminIndexの値は0のままになります。

        このメソッドは、setInput(input, seekForwardOnly, false)と同等です。

        パラメータ:
        input - ImageInputStreamまたは今後、復号化で使用するほかのObject
        seekForwardOnly - trueの場合、イメージとメタデータはこの入力ソースから昇順でのみ読み取られる。
        例外:
        IllegalArgumentException - inputが発生元サービス・プロバイダのgetInputTypesメソッドによって返されたいずれかのクラスのインスタンスではない場合、またはImageInputStreamではない場合。
        関連項目:
        getInput()
      • setInput

        public void setInput​(Object input)
        指定されたImageInputStreamまたはほかのObjectに使用するために入力ソースを設定します。 入力ソースは、照会または読込みメソッドを使用する前に設定します。 inputnullの場合、現在設定されている入力ソースは削除されます。 どの場合も、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 - localenullではないが、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に設定されているとき、このメソッドは、allowSearchtrueに設定されていれば、IllegalStateExceptionをスローします。

        パラメータ:
        allowSearch - trueの場合、検索が必要なときでも実際のイメージの数を返す。 falseの場合、読取り側は検索を実行せずに-1を返す。
        戻り値:
        intとしてのイメージの数、またはallowSearchfalseの場合は-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内部形式にもっとも近い形式を表すSampleModelColorModelを示して、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 - formatNamenullの場合。
        IllegalArgumentException - nodeNamesnullの場合。
        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 - formatNamenullの場合。
        IllegalArgumentException - nodeNamesnullの場合。
        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オブジェクトは、復号化中に発生する致命的ではない警告の通知を受け取ります。

        読み取られるソース・バンドおよび書き込まれるデスティネーション・バンドのセットは、指定されたImageReadParamgetSourceBandsgetDestinationBandsを呼び出すことによって決定されます。 これらのメソッドによって返される配列の長さが異なる場合、ソース・バンドのセットが使用可能な最大のソース・インデックスより大きいインデックスを保持する場合、またはデスティネーション・バンドのセットが有効な最大のデスティネーション・インデックスより大きいインデックスを保持する場合、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オブジェクトは、復号化中に発生する致命的ではない警告の通知を受け取ります。

        読み取られるソース・バンドおよび書き込まれるデスティネーション・バンドのセットは、指定されたImageReadParamgetSourceBandsgetDestinationBandsを呼び出すことによって決定されます。 これらのメソッドによって返される配列の長さが異なる場合、ソース・バンドのセットが使用可能な最大のソース・インデックスより大きいインデックスを保持する場合、またはデスティネーション・バンドのセットが有効な最大のデスティネーション・インデックスより大きいインデックスを保持する場合、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が、要素を消費し尽くした場合で、入力ソースから使用できるイメージがまだあるときは、残されたイメージに対してデフォルトの読込みパラメータが使用されます。

        paramsnullの場合、すべてのイメージに対してデフォルトの読込みパラメータが使用されます。

        返されるIIOImageによって参照される実際のBufferedImageは、getDestinationメソッドによって定義されたアルゴリズムを使用して選択されます。

        登録されたIIOReadProgressListenerオブジェクトはsequenceStartedメソッドの呼出しによって1回通知されます。 次に、復号化された各イメージに対して、imageStartedの呼出しが行われ、そのあとに読込みの進捗とともにimageProgressが呼び出され、最後にimageCompleteが呼び出されます。 sequenceCompleteメソッドは、最後のイメージがデコードされたあとに呼び出されます。 IIOReadUpdateListenerオブジェクトは、読込み中にピクセルが復号化されるときに更新されます。 最後に、IIOReadWarningListenerオブジェクトは、復号化中に発生する致命的ではない警告の通知を受け取ります。

        読み取られるソース・バンドおよび書き込まれるデスティネーション・バンドのセットは、指定されたImageReadParamgetSourceBandsgetDestinationBandsを呼び出すことによって決定されます。 これらのメソッドによって返される配列の長さが異なる場合、ソース・バンドのセットが使用可能な最大のソース・インデックスより大きいインデックスを保持する場合、またはデスティネーション・バンドのセットが有効な最大のデスティネーション・インデックスより大きいインデックスを保持する場合、IllegalArgumentExceptionがスローされます。

        領域の設定に関係なく、サムネールの全体が返されます。

        指定されたImageReadParamが、この読取り側によってサポートされないオプションの設定値(たとえば、ソースの描画サイズや形式固有の設定)を保持する場合、これらは無視されます。

        パラメータ:
        params - ImageReadParamオブジェクトを保持するIterator
        戻り値:
        IIOImageとして、入力ソースの内容を表すIterator
        例外:
        IllegalStateException - 入力ソースが設定されていない場合。
        IllegalArgumentException - paramsnull以外の要素が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を返す場合、hasThumbnailsgetNumThumbnailsは、それぞれfalse0を返します。また、readThumbnailは、引数にかかわらずUnsupportedOperationExceptionを返します。

        サムネールをサポートしない読取り側は、サムネールに関連するメソッドを実装する必要がありません。

        戻り値:
        サムネールがサポートされる場合はtrue
      • hasThumbnails

        public boolean hasThumbnails​(int imageIndex)
                              throws IOException
        指定されたイメージが、それに関連付けられたサムネール・プレビュー・イメージを持つ場合、trueを返します。 形式がサムネールをサポートしない場合、つまりreaderSupportsThumbnailsfalseを返す場合、入力ソースが設定されているかどうか、またはimageIndexが境界内にあるかどうかにかかわらずfalseを返します。

        getNumThumbnailsが0より大きい値を返す場合、デフォルト実装はtrueを返します。

        パラメータ:
        imageIndex - 照会されるイメージのインデックス。
        戻り値:
        指定されたイメージがサムネールの場合はtrue
        例外:
        IllegalStateException - 読取り側がサムネールをサポートするが、入力ソースが設定されていない場合。
        IndexOutOfBoundsException - 読取り側がサムネールをサポートするが、imageIndexが範囲外にある場合。
        IOException - 読込み中にエラーが発生した場合。
      • getNumThumbnails

        public int getNumThumbnails​(int imageIndex)
                             throws IOException
        指定されたイメージに関連付けられたサムネール・プレビュー・イメージの数を返します。 形式がサムネールをサポートしない場合、つまりreaderSupportsThumbnailsfalseを返す場合、入力ソースが設定されているかどうか、またはimageIndexが境界内にあるかどうかにかかわらず0を返します。

        デフォルト実装は、その引数を確認することなく、0を返します。

        パラメータ:
        imageIndex - 照会されるイメージのインデックス。
        戻り値:
        指定されたイメージに関連付けられたサムネールの数。
        例外:
        IllegalStateException - 読取り側がサムネールをサポートするが、入力ソースが設定されていない場合。
        IndexOutOfBoundsException - 読取り側がサムネールをサポートするが、imageIndexが範囲外にある場合。
        IOException - 読込み中にエラーが発生した場合。
      • getThumbnailWidth

        public int getThumbnailWidth​(int imageIndex,
                                     int thumbnailIndex)
                              throws IOException
        thumbnailIndexによってインデックスを付けられたサムネール・プレビュー・イメージの幅を返します。このイメージはImageIndexによってインデックスを付けられたイメージに関連付けられています。

        読取り側がサムネールをサポートしない場合、つまりreaderSupportsThumbnailsfalseを返す場合、UnsupportedOperationExceptionがスローされます。

        デフォルトの実装では、readThumbnail(imageindex, thumbnailIndex).getWidth()を返すだけです。 したがって、サブクラスはサムネールを読み取らないようにするために、可能な場合はこのメソッドをオーバーライドする必要があります。

        パラメータ:
        imageIndex - 取得されるイメージのインデックス。
        thumbnailIndex - 取得されるサムネールのインデックス。
        戻り値:
        intとして望ましいサムネールの幅。
        例外:
        UnsupportedOperationException - サムネールがサポートされない場合。
        IllegalStateException - 入力ソースが設定されていない場合。
        IndexOutOfBoundsException - 指定されたインデックスのいずれかが範囲外にある場合。
        IOException - 読込み中にエラーが発生した場合。
      • getThumbnailHeight

        public int getThumbnailHeight​(int imageIndex,
                                      int thumbnailIndex)
                               throws IOException
        thumbnailIndexによってインデックスを付けられたサムネール・プレビュー・イメージの高さを返します。このイメージはImageIndexによってインデックスを付けられたイメージに関連付けられています。

        読取り側がサムネールをサポートしない場合、つまりreaderSupportsThumbnailsfalseを返す場合、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オブジェクトは、thumbnailStartedthumbnailProgress、およびthumbnailCompleteメソッドを呼び出すことにより通知されます。

        読取り側がサムネールをサポートしない場合、つまりreaderSupportsThumbnailsfalseを返すとき、入力ソースが設定されているかどうか、またはインデックスが境界内にあるかどうかにかかわらず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()
        以前の中断リクエストをクリアします。 このメソッドが呼び出されると、abortRequestedfalseを返します。
        関連項目:
        abort(), abortRequested()
      • addIIOReadWarningListener

        public void addIIOReadWarningListener​(IIOReadWarningListener listener)
        登録された警告リスナーのリストにIIOReadWarningListenerを追加します。 listenernullの場合、例外はスローされず、何も処理は行われません。 指定されたリスナーに送られたメッセージは、可能であれば、現在のLocaleに合うようにローカライズされます。 Localeが設定されていない場合は、読取り側に適合するよう警告メッセージをローカライズできます。
        パラメータ:
        listener - 登録されるIIOReadWarningListener
        関連項目:
        removeIIOReadWarningListener(javax.imageio.event.IIOReadWarningListener)
      • removeIIOReadWarningListener

        public void removeIIOReadWarningListener​(IIOReadWarningListener listener)
        登録されたエラー・リスナーのリストから、IIOReadWarningListenerを削除します。 以前にリスナーが登録されていない場合、またはlistenernullの場合、例外はスローされず、何も処理は行われません。
        パラメータ:
        listener - 登録解除されるIIOReadWarningListener。
        関連項目:
        addIIOReadWarningListener(javax.imageio.event.IIOReadWarningListener)
      • removeAllIIOReadWarningListeners

        public void removeAllIIOReadWarningListeners()
        現在登録されているすべてのIIOReadWarningListenerオブジェクトを削除します。

        デフォルト実装ではwarningListenerswarningLocalesインスタンスの変数をnullに設定します。

      • removeIIOReadProgressListener

        public void removeIIOReadProgressListener​(IIOReadProgressListener listener)
        登録された進捗リスナーのリストから、IIOReadProgressListenerを削除します。 以前にリスナーが登録されていない場合、またはlistenernullの場合、例外はスローされず、何も処理は行われません。
        パラメータ:
        listener - 登録解除されるIIOReadProgressListener。
        関連項目:
        addIIOReadProgressListener(javax.imageio.event.IIOReadProgressListener)
      • removeAllIIOReadProgressListeners

        public void removeAllIIOReadProgressListeners()
        現在登録されているすべてのIIOReadProgressListenerオブジェクトを削除します。

        デフォルト実装ではprogressListenersインスタンスの変数をnullに設定します。

      • addIIOReadUpdateListener

        public void addIIOReadUpdateListener​(IIOReadUpdateListener listener)
        IIOReadUpdateListenerを、登録された更新リスナーのリストに追加します。 listenernullの場合、例外はスローされず、何も処理は行われません。 リスナーは、イメージとサムネールが復号化されるときに、プログレッシブ・パスの開始と終了を含むピクセル・データ更新の通知を受け取ります。

        更新リスナーが存在しない場合、読取り側はデスティネーション・イメージまたはサムネール、あるいはその両方のピクセルの更新を、より少なく実行するように選択できます。これにより、復号化がより効率的に行われるようになります。

        たとえば、プログレッシブJPEGデコーディングでは、各パスに一連の係数の更新が含まれます。リスナーが存在する場合、これらの係数はピクセル値に変換され、各パスのRGBカラー・スペースに変換される必要があります。 リスナーが存在しない場合、係数は単純に累積され、最終結果の変換と色の変換が一度だけ行われます。

        復号化の最終結果は、中間更新が実行されているかどうかに関係なく同じです。 したがって、最終イメージだけが必要な場合は、IIOReadUpdateListenerを登録しないほうが望ましい結果が得られます。 一般的には、ローカルCPUの処理に比べて非常に遅いネットワーク接続を介してイメージを取得する場合は、プログレッシブな更新がもっとも効率的です。高速接続による場合は、プログレッシブな更新によりイメージの表示が実際には遅くなります。

        パラメータ:
        listener - 登録されるIIOReadUpdateListener。
        関連項目:
        removeIIOReadUpdateListener(javax.imageio.event.IIOReadUpdateListener)
      • removeIIOReadUpdateListener

        public void removeIIOReadUpdateListener​(IIOReadUpdateListener listener)
        登録された更新リスナーのリストから、IIOReadUpdateListenerを削除します。 以前にリスナーが登録されていない場合、またはlistenernullの場合、例外はスローされず、何も処理は行われません。
        パラメータ:
        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 - warningnullの場合。
      • processWarningOccurred

        protected void processWarningOccurred​(String baseName,
                                              String keyword)
        ResourceBundleから取得した文字列を持つwarningOccurredメソッドを呼び出すことで、ローカライズされた警告メッセージを、登録されたすべてのIIOReadWarningListenerに通知します。 サブクラスは、必要に応じてこのメソッドを使用できます。
        パラメータ:
        baseName - ローカライズされた警告メッセージを含むResourceBundleのセットのベース名。
        keyword - ResourceBundle内の警告メッセージにインデックスを付けるために使用されるキーワード。
        例外:
        IllegalArgumentException - baseNamenullの場合。
        IllegalArgumentException - keywordnullの場合。
        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 - srcRegionnullの場合。
        IllegalArgumentException - dstRegionnullの場合。
        IllegalArgumentException - 結果のソースまたはデスティネーションが空の場合。
      • checkReadParamBandSettings

        protected static void checkReadParamBandSettings​(ImageReadParam param,
                                                         int numSrcBands,
                                                         int numDstBands)
        ImageReadParamのソースおよびデスティネーションのバンド設定の有効性を判定するために、読取り側が使用するユーティリティ・メソッドです。 このメソッドは、入力ストリームに存在するソース・イメージのバンド数と書き込まれたデスティネーション・イメージのバンド数の両方を、読取り側が認識するとすぐに呼び出されます。

        メソッドは、getSourceBandsgetDestinationBands メソッドを使用して、paramからソースおよびデスティネーション・バンドの設定の配列を取り出します。paramnullの場合は、これらは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が使用されます。

        paramnull、または前述の手順がイメージあるいはImageTypeSpecifierを発生させない場合、imageTypesパラメータから取得された最初の値が使用されます。 通常、呼出し側がimageTypesgetImageTypes(imageIndex)の値に設定します。

        次に、イメージの寸法がcomputeRegionsの呼出しによって決定されます。 復号化されたイメージの実際の幅と高さが、widthおよびheightパラメータとして渡されます。

        パラメータ:
        param - デスティネーション・イメージまたはイメージ型を取得するために使用するImageReadParam、またはnull
        imageTypes - 正当なイメージ型を示すImageTypeSpecifierIterator。デフォルトが最初。
        width - デコードされるイメージまたはタイルの真の幅。
        height - 復号化が要求されるイメージまたはタイルの真の幅。
        戻り値:
        復号化されたピクセル・データが書き込まれるBufferedImage
        例外:
        IIOException - paramによって指定されたImageTypeSpecifierimageTypesからの正当な型と一致しない場合。
        IllegalArgumentException - imageTypesnullまたは空の場合、またはImageTypeSpecifierが指定する型ではないオブジェクトを取り出した場合。
        IllegalArgumentException - 結果のイメージが1より小さい幅または高さを持つ場合。
        IllegalArgumentException - widthheightの積がInteger.MAX_VALUEより大きい場合。