モジュール java.desktop
パッケージ java.awt.image

クラスAreaAveragingScaleFilter

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

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

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

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

関連項目:
  • コンストラクタの詳細

    • 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配列内のあるピクセル行から次のピクセル行までの距離
      関連項目: