クラスImageFilter

java.lang.Object
java.awt.image.ImageFilter
すべての実装されたインタフェース:
ImageConsumer, Cloneable
直系の既知のサブクラス:
BufferedImageFilter, CropImageFilter, ReplicateScaleFilter, RGBImageFilter

public class ImageFilter extends Object implements ImageConsumer, Cloneable
このクラスには、一連のインタフェース・メソッド用のフィルタが実装されており、ImageProducerからImageConsumerへデータを転送するために使われます。 また、FilteredImageSourceと組み合わせて、既存イメージのフィルタ処理に使われます。 この基底クラスは、「空フィルタ」を実装するための呼出しを行います。「空フィルタ」は、転送されてくるデータに何の影響も与えません。 フィルタを実装するときは、このクラスをサブクラス化して、データをフィルタ処理するメソッドをオーバーライドします。また、必要に応じて修正を加えます。
関連項目:
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    protected ImageConsumer
    特別なイメージ・データ・ストリームのコンシューマであり、ImageFilterのこのインスタンスがデータをフィルタ処理します。

    インタフェースで宣言されたフィールド ImageConsumer

    COMPLETESCANLINES, IMAGEABORTED, IMAGEERROR, RANDOMPIXELORDER, SINGLEFRAME, SINGLEFRAMEDONE, SINGLEPASS, STATICIMAGEDONE, TOPDOWNLEFTRIGHT
    修飾子と型
    フィールド
    説明
    static final int
    ピクセルは、1度に(複数の)完全な走査線単位で転送されます。
    static final int
    イメージ生成が故意に中断されました。
    static final int
    イメージの生成中にエラーが発生しました。
    static final int
    ピクセルの転送順序はランダムです。
    static final int
    イメージ・データは、1枚の静止画像を含んでいます。
    static final int
    イメージの1フレームの転送が完了しましたが、まだ転送対象のフレームがあります。
    static final int
    ピクセルは1つのパスで転送されます。
    static final int
    イメージの転送が完了し、転送対象のピクセルもフレームも残っていません。
    static final int
    ピクセルは上から下、左から右の順で転送されます。
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    ImageFilterを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    このオブジェクトを複製します。
    指定されたImageConsumerのフィルタ・リングを実際に行うImageFilterオブジェクトの一意なインスタンスを返します。
    void
    imageComplete(int status)
    ImageConsumerインタフェースのimageCompleteメソッドで提供される情報にフィルタをかけます。
    void
    ImageConsumerからのピクセル・データ再転送要求に応じます。上から下、左から右の順番で処理されます。
    void
    ImageConsumerインタフェースのsetColorModelメソッドで提供される情報をフィルタ処理します。
    void
    setDimensions(int width, int height)
    ImageConsumerインタフェースのsetDimensionsメソッドで提供される情報をフィルタ処理します。
    void
    setHints(int hints)
    ImageConsumerインタフェースのsetHintsメソッドで提供される情報をフィルタ処理します。
    void
    setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize)
    byte配列をとるImageConsumerインタフェースのsetPixelsメソッドで提供される情報にフィルタをかけます。
    void
    setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize)
    整数値配列をとる、ImageConsumerインタフェースのsetPixelsメソッドで提供される情報にフィルタをかけます。
    void
    フィルタのストリームを通過したことを示すプロパティを追加したあと、ソース・オブジェクトからプロパティを渡します。

    クラスオブジェクトで宣言されたメソッド

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • フィールド詳細

    • consumer

      protected ImageConsumer consumer
      特別なイメージ・データ・ストリームのコンシューマであり、ImageFilterのこのインスタンスがデータをフィルタ処理します。 この初期化は、コンストラクタの中ではなく、getFilterInstance()メソッドの呼出し中に行われます。そのときに、FilteredImageSourceにより、特別なイメージ・データ・ストリームのためのオブジェクト固有のインスタンスが生成されます。
      関連項目:
  • コンストラクタの詳細

    • ImageFilter

      public ImageFilter()
      ImageFilterを構築します。
  • メソッドの詳細

    • getFilterInstance

      public ImageFilter getFilterInstance(ImageConsumer ic)
      指定されたImageConsumerのフィルタ・リングを実際に行うImageFilterオブジェクトの一意なインスタンスを返します。 デフォルトの実装では、このオブジェクトを複製するだけです。

      ノート: このメソッドは、フィルタ処理の対象となるピクセルで構成されるImageのImageProducerによって呼び出されることを想定して実装されています。 このクラスを使用してイメージのピクセルをフィルタ処理する開発者は、このメソッドを直接呼び出さないでください。このメソッドを直接呼び出すと、フィルタ操作を妨げる可能性があります。

      パラメータ:
      ic - 指定されたImageConsumer
      戻り値:
      指定されたImageConsumerのフィルタ処理に使用されるImageFilter
    • setDimensions

      public void setDimensions(int width, int height)
      ImageConsumerインタフェースのsetDimensionsメソッドで提供される情報をフィルタ処理します。

      ノート: このメソッドは、フィルタ処理の対象となるピクセルで構成されるImageのImageProducerによって呼び出されることを想定して実装されています。 このクラスを使用してイメージのピクセルをフィルタ処理する開発者は、このメソッドを直接呼び出さないでください。このメソッドを直接呼び出すと、フィルタ操作を妨げる可能性があります。

      定義:
      setDimensions、インタフェースImageConsumer
      パラメータ:
      width - ソース・イメージの幅
      height - ソース・イメージの高さ
      関連項目:
    • setProperties

      public void setProperties(Hashtable<?,?> props)
      フィルタのストリームを通過したことを示すプロパティを追加したあと、ソース・オブジェクトからプロパティを渡します。

      ノート: このメソッドは、フィルタ処理の対象となるピクセルで構成されるImageのImageProducerによって呼び出されることを想定して実装されています。 このクラスを使用してイメージのピクセルをフィルタ処理する開発者は、このメソッドを直接呼び出さないでください。このメソッドを直接呼び出すと、フィルタ操作を妨げる可能性があります。

      定義:
      setProperties、インタフェースImageConsumer
      パラメータ:
      props - ソース・オブジェクトからのプロパティ
      スロー:
      NullPointerException - propsがnullである場合
    • setColorModel

      public void setColorModel(ColorModel model)
      ImageConsumerインタフェースのsetColorModelメソッドで提供される情報をフィルタ処理します。

      ノート: このメソッドは、フィルタ処理の対象となるピクセルで構成されるImageのImageProducerによって呼び出されることを想定して実装されています。 このクラスを使用してイメージのピクセルをフィルタ処理する開発者は、このメソッドを直接呼び出さないでください。このメソッドを直接呼び出すと、フィルタ操作を妨げる可能性があります。

      定義:
      setColorModel、インタフェースImageConsumer
      パラメータ:
      model - 指定されたColorModel
      関連項目:
    • setHints

      public void setHints(int hints)
      ImageConsumerインタフェースのsetHintsメソッドで提供される情報をフィルタ処理します。

      ノート: このメソッドは、フィルタ処理の対象となるピクセルで構成されるImageのImageProducerによって呼び出されることを想定して実装されています。 このクラスを使用してイメージのピクセルをフィルタ処理する開発者は、このメソッドを直接呼び出さないでください。このメソッドを直接呼び出すと、フィルタ操作を妨げる可能性があります。

      定義:
      setHints、インタフェースImageConsumer
      パラメータ:
      hints - ImageConsumerがピクセル処理に使用するヒントのセット
      関連項目:
    • setPixels

      public void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize)
      byte配列をとるImageConsumerインタフェースのsetPixelsメソッドで提供される情報にフィルタをかけます。

      ノート: このメソッドは、フィルタ処理の対象となるピクセルで構成されるImageのImageProducerによって呼び出されることを想定して実装されています。 このクラスを使用してイメージのピクセルをフィルタ処理する開発者は、このメソッドを直接呼び出さないでください。このメソッドを直接呼び出すと、フィルタ操作を妨げる可能性があります。

      定義:
      setPixels、インタフェースImageConsumer
      パラメータ:
      x - 設定されるピクセルの領域の左上隅のX座標
      y - 設定されるピクセルの領域の左上隅のY座標
      w - ピクセル領域の幅
      h - ピクセル領域の高さ
      model - 指定されたColorModel
      pixels - ピクセルの配列
      off - pixels配列へのオフセット
      scansize - pixels配列内のあるピクセル行から次のピクセル行までの距離
      関連項目:
    • setPixels

      public void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize)
      整数値配列をとる、ImageConsumerインタフェースのsetPixelsメソッドで提供される情報にフィルタをかけます。

      ノート: このメソッドは、フィルタ処理の対象となるピクセルで構成されるImageのImageProducerによって呼び出されることを想定して実装されています。 このクラスを使用してイメージのピクセルをフィルタ処理する開発者は、このメソッドを直接呼び出さないでください。このメソッドを直接呼び出すと、フィルタ操作を妨げる可能性があります。

      定義:
      setPixels、インタフェースImageConsumer
      パラメータ:
      x - 設定されるピクセルの領域の左上隅のX座標
      y - 設定されるピクセルの領域の左上隅のY座標
      w - ピクセル領域の幅
      h - ピクセル領域の高さ
      model - 指定されたColorModel
      pixels - ピクセルの配列
      off - pixels配列へのオフセット
      scansize - pixels配列内のあるピクセル行から次のピクセル行までの距離
      関連項目:
    • imageComplete

      public void imageComplete(int status)
      ImageConsumerインタフェースのimageCompleteメソッドで提供される情報にフィルタをかけます。

      ノート: このメソッドは、フィルタ処理の対象となるピクセルで構成されるImageのImageProducerによって呼び出されることを想定して実装されています。 このクラスを使用してイメージのピクセルをフィルタ処理する開発者は、このメソッドを直接呼び出さないでください。このメソッドを直接呼び出すと、フィルタ操作を妨げる可能性があります。

      定義:
      imageComplete、インタフェースImageConsumer
      パラメータ:
      status - イメージ・ロードのステータス
      関連項目:
    • resendTopDownLeftRight

      public void resendTopDownLeftRight(ImageProducer ip)
      ImageConsumerからのピクセル・データ再転送要求に応じます。上から下、左から右の順番で処理されます。 このImageFilterのインスタンスによって指定されたImageConsumerが上下左右順でのデータの再送信を要求する場合、FilteredImageSourceImageFilterのこのメソッドを呼び出します。

      ImageFilterサブクラスは、上下左右順でデータを送信するかどうか、およびその方法によって、このメソッドをオーバーライドできる場合とできない場合があります。 可能性は3つあります。

      • このメソッドはオーバーライドしない。 これによって、サブクラスはデフォルトの実装を使用する。デフォルトの実装は、要求しているImageConsumerとしてこのフィルタを使用して、指定されたImageProducerへ要求を転送する。 この動作は、上位のプロデューサ・オブジェクトが上下左右順でピクセルを送信する場合に、フィルタが上下左右順でピクセルを送信することを判断できる場合に適切
      • データを単に送信する場合はメソッドをオーバーライドする。 これはフィルタ自体が要求を処理できる場合に適切。たとえば、生成されたピクセルがバッファなどに保存されている場合など。
      • 何も実行しない場合はメソッドをオーバーライドする。 これはフィルタで上下左右順にフィルタを通したデータを生成できない場合に適切

      パラメータ:
      ip - このフィルタのインスタンスを供給する、また必要に応じて要求を転送するImageProducer
      スロー:
      NullPointerException - ipがnullである場合
      関連項目:
    • clone

      public Object clone()
      このオブジェクトを複製します。
      オーバーライド:
      clone、クラスObject
      戻り値:
      このインスタンスの複製。
      関連項目: