クラスAreaAveragingScaleFilter

すべての実装されたインタフェース:
ImageConsumer, Cloneable

public class AreaAveragingScaleFilter extends ReplicateScaleFilter
最近接点アルゴリズムよりもなめらかな結果が得られる、簡単な領域平均化アルゴリズムを使用してイメージをスケーリングするImageFilterクラスです。

このクラスでは基底のImageFilterクラスを拡張して、既存のイメージのサイズを変更し、類似のイメージを新しく作成するときのソースを提供します。 転送元イメージのピクセルは合成されて、指定されたサイズのイメージ用ピクセルを作成します。 合成処理は、ピクセル複製により転送先イメージの数倍のサイズに拡大された転送元イメージについて、拡大イメージの中で、転送先イメージの各ピクセルとなるすべてのピクセルの平均をとることにより、転送先イメージのサイズに再び縮小する処理に似ています。 転送元からのデータがTopDownLeftRight (上下左右)順に送られない場合は、単純なピクセル複製動作に戻り、requestTopDownLeftRightResend()メソッドを利用して、最終的により良い方法でピクセルを再びフィルタ・リングします。

これは、既存のイメージからスケーリングされたバージョンを作成するためにFilteredImageSourceとともに使用することを意図しています。 実装の依存関係のため、プラットフォームによってフィルタされるイメージのピクセル値が異なることがあります。

関連項目:
  • フィールドのサマリー

    クラスで宣言されたフィールド ReplicateScaleFilter

    destHeight, destWidth, outpixbuf, srccols, srcHeight, srcrows, srcWidth
    修飾子と型
    フィールド
    説明
    protected int
    イメージをスケーリングするターゲットの高さです。
    protected int
    イメージをスケーリングするターゲットの幅です。
    protected Object
    ReplicateScaleFilter.destWidthのサイズで初期化され、ピクセル・データの行をImageConsumerに伝えるのに使うbyte配列です。
    protected int[]
    ピクセルの列についての情報を格納するint配列です。
    protected int
    ソース・イメージの高さです。
    protected int[]
    ピクセルの行についての情報を格納するint配列です。
    protected int
    ソース・イメージの幅です。

    クラスで宣言されたフィールド ImageFilter

    consumer
    修飾子と型
    フィールド
    説明
    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
    ピクセルは上から下、左から右の順で転送されます。
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    AreaAveragingScaleFilter(int width, int height)
    幅と高さのパラメータの指定に従って、転送元イメージのピクセルをスケーリングするAreaAveragingScaleFilterを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    setHints(int hints)
    渡されるデータに、平均化アルゴリズムの動作に必要なヒントが設定されているかどうかを検出します。
    void
    setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize)
    このメソッドを直接呼び出すと、フィルタ操作を妨げる可能性があります。渡されたバイト・ピクセル用のコンポーネントすべてを蓄積配列にまとめて、完全なピクセル行のための平均化データをすべて送出します。
    void
    setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize)
    渡されたintピクセル用のコンポーネントすべてを蓄積配列にまとめて、完全なピクセル行のための平均化されたデータをすべて送出します。

    クラスで宣言されたメソッド ReplicateScaleFilter

    setDimensions, setProperties
    修飾子と型
    メソッド
    説明
    void
    setDimensions(int w, int h)
    ソース・イメージの大きさをオーバーライドして、新しく変更されたサイズの大きさをImageConsumerに渡します。
    void
    適用する大きさを示すプロパティを追加後、ソース・オブジェクトからプロパティを渡します。

    クラスで宣言されたメソッド ImageFilter

    clone, getFilterInstance, imageComplete, resendTopDownLeftRight, setColorModel
    修飾子と型
    メソッド
    説明
    このオブジェクトを複製します。
    指定されたImageConsumerのフィルタ・リングを実際に行うImageFilterオブジェクトの一意なインスタンスを返します。
    void
    imageComplete(int status)
    ImageConsumerインタフェースのimageCompleteメソッドで提供される情報にフィルタをかけます。
    void
    ImageConsumerからのピクセル・データ再転送要求に応じます。上から下、左から右の順番で処理されます。
    void
    ImageConsumerインタフェースのsetColorModelメソッドで提供される情報をフィルタ処理します。

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

    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であるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • AreaAveragingScaleFilter

      public AreaAveragingScaleFilter(int width, int height)
      幅と高さのパラメータの指定に従って、転送元イメージのピクセルをスケーリングするAreaAveragingScaleFilterを構築します。
      パラメータ:
      width - イメージをスケーリングするターゲットの幅
      height - イメージをスケーリングするターゲットの高さ
      スロー:
      IllegalArgumentException - widthが0と等しいか、heightが0と等しい場合
  • メソッドの詳細

    • setHints

      public void setHints(int hints)
      渡されるデータに、平均化アルゴリズムの動作に必要なヒントが設定されているかどうかを検出します。

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

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

      public void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize)
      このメソッドを直接呼び出すと、フィルタ操作を妨げる可能性があります。渡されたバイト・ピクセル用のコンポーネントすべてを蓄積配列にまとめて、完全なピクセル行のための平均化データをすべて送出します。 setHintsの呼出しで正しいヒントが指定されなかった場合は、送るヒントにかかわらずピクセルをスケーリングできるスーパー・クラスに作業を引き継ぎます。

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

      定義:
      setPixels、インタフェースImageConsumer
      オーバーライド:
      setPixels、クラスReplicateScaleFilter
      パラメータ:
      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)
      渡されたintピクセル用のコンポーネントすべてを蓄積配列にまとめて、完全なピクセル行のための平均化されたデータをすべて送出します。 setHintsの呼出しで正しいヒントが指定されなかった場合は、送るヒントにかかわらずピクセルをスケーリングできるスーパー・クラスに作業を引き継ぎます。

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

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