kinugasa.contents.graphics

## クラス ImageEditor

- java.lang.Object
- - kinugasa.contents.graphics.ImageEditor

-     public final class ImageEditor
      extends java.lang.Object

  BufferedImageに対する高度な編集機能を提供するユーティリティクラスです.
  このクラスでは、「ソース画像」のピクセルデータが、直接変更される可能性のある機能が定義されています。
  このクラスに定義されたメソッドは、ゲーム中において使用されるべきではありません。リソースとして準備したほうがパフォーマンスが向上します。

- - ### メソッドのサマリー

    All Methods Static Methods Concrete Methods
    修飾子とタイプ | メソッドと説明
    --- | ---
    `static java.awt.image.BufferedImage` | `addTransparent(java.awt.image.BufferedImage src, int tp, java.awt.image.BufferedImage dst)` ソース画像の全てのピクセルの透過度にtpを加算した画像を返します.
    `static java.awt.image.BufferedImage` | `blur(java.awt.image.BufferedImage src, int rad, boolean hrz, java.awt.image.BufferedImage dst)` 画像の水平又は垂直方向にブラー効果をかけます.
    `static java.awt.image.BufferedImage` | `blur2D(java.awt.image.BufferedImage src, int width, int height, java.awt.image.BufferedImage dst)` 水平および垂直方向にブラーエフェクトかけた画像を返します.
    `static java.awt.image.BufferedImage` | `brightness(java.awt.image.BufferedImage src, float right, java.awt.image.BufferedImage dst)` src中のピクセルの明度を(right*100)%に変換した画像をdstに格納して返します.
    `static java.awt.image.BufferedImage` | `grayScale(java.awt.image.BufferedImage src, java.awt.image.BufferedImage dst)` srcをグレイスケール変換した画像をdstに格納して返します.
    `static java.awt.image.BufferedImage` | `monochrome(java.awt.image.BufferedImage src, int center, java.awt.image.BufferedImage dst)` srcを白黒モノクローム変換した画像をdstに格納して返します.
    `static java.awt.image.BufferedImage` | `mosaic(java.awt.image.BufferedImage src, int size, java.awt.image.BufferedImage dst)` srcに簡易的なモザイク処理を施した画像をdstに格納して返します.
    `static java.awt.image.BufferedImage` | `rasterScroll(java.awt.image.BufferedImage src, java.awt.image.BufferedImage dst, int[] shiftPixNum, int insertARGB)` 画像の各ピクセルを指定されたサイズだけ横方向にシフトして構築した画像を返します。
    `static java.awt.image.BufferedImage` | `replaceColor(java.awt.image.BufferedImage src, int tgtARGB, int newARGB, java.awt.image.BufferedImage dst)` 色tgtARGBをnewARGBで置き換えた新しい画像をdstに格納して返します.
    `static java.awt.image.BufferedImage` | `resize(java.awt.image.BufferedImage src, float scale)` 指定された画像を拡大／縮小した新しい画像を返します。
    `static java.awt.image.BufferedImage[]` | `resizeAll(java.awt.image.BufferedImage[] images, float scale)`
    `static java.awt.image.BufferedImage` | `reverseColor(java.awt.image.BufferedImage src, java.awt.image.BufferedImage dst)` srcの色を反転した画像をdstに格納して返します.
    `static java.awt.image.BufferedImage` | `rotate(java.awt.image.BufferedImage src, float deg, java.awt.image.BufferedImage dst)` srcを時計回りにdeg度回転した画像をdstに格納して返します.
    `static java.awt.image.BufferedImage` | `transparent(java.awt.image.BufferedImage src, float tp, java.awt.image.BufferedImage dst)` ソース画像の透過度を変更した画像を返します.
    `static java.awt.image.BufferedImage` | `weightedGrayScale(java.awt.image.BufferedImage src, java.awt.image.BufferedImage dst)` NTSC加重平均法を適用したグレイスケール変換を行います.

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### メソッドの詳細

    - #### replaceColor

          public static java.awt.image.BufferedImage replaceColor(java.awt.image.BufferedImage src,
                                                                  int tgtARGB,
                                                                  int newARGB,
                                                                  java.awt.image.BufferedImage dst)

      色tgtARGBをnewARGBで置き換えた新しい画像をdstに格納して返します.
      パラメータ:
        `src` - 色を置換するソース画像を指定します。この画像のピクセルは変更されません。
        `tgtARGB` - src中の置換の対象となる色をARGBカラーで指定します。
        `newARGB` - 置換後の色をARGBカラーで指定します。
        `dst` - nullでない場合、この引数に結果が格納されます。
      戻り値:
        src中のtgtARGBのピクセルをnewARGBに置き換えた画像を返します。

    - #### grayScale

          public static java.awt.image.BufferedImage grayScale(java.awt.image.BufferedImage src,
                                                               java.awt.image.BufferedImage dst)

      srcをグレイスケール変換した画像をdstに格納して返します. このメソッドはピクセルのRGB平均をそのまま設定します。 NTSC系加重平均法は使用しません。
      パラメータ:
        `src` - 色を置換するソース画像を指定します。この画像のピクセルは変更されません。
        `dst` - nullでない場合、この引数に結果が格納されます。
      戻り値:
        srcのピクセルを明暗だけに置換した画像を返します。

    - #### weightedGrayScale

          public static java.awt.image.BufferedImage weightedGrayScale(java.awt.image.BufferedImage src,
                                                                       java.awt.image.BufferedImage dst)

      NTSC加重平均法を適用したグレイスケール変換を行います.
      パラメータ:
        `src` - 色を置換するソース画像を指定します。この画像のピクセルは変更されません。
        `dst` - nullでない場合、この引数に結果が格納されます。
      戻り値:
        srcのピクセルを明暗だけに置換した画像を返します。

    - #### monochrome

          public static java.awt.image.BufferedImage monochrome(java.awt.image.BufferedImage src,
                                                                int center,
                                                                java.awt.image.BufferedImage dst)
                                                         throws java.lang.IllegalArgumentException

      srcを白黒モノクローム変換した画像をdstに格納して返します.
      パラメータ:
        `src` - 色を置換するソース画像を指定します。この画像のピクセルは変更されません。
        `center` - 基準となる明度を0から255で指定します。
        `dst` - nullでない場合、この引数に結果が格納されます。
      戻り値:
        src中の明度がcenterを超えるピクセルを白に、そうでないピクセルを黒に置き換えた画像を返します。
      例外:
        `java.lang.IllegalArgumentException` - centerが0未満または255を超える場合に投げられます。

    - #### brightness

          public static java.awt.image.BufferedImage brightness(java.awt.image.BufferedImage src,
                                                                float right,
                                                                java.awt.image.BufferedImage dst)
                                                         throws java.lang.IllegalArgumentException

      src中のピクセルの明度を(right*100)%に変換した画像をdstに格納して返します.
      パラメータ:
        `src` - 色を置換するソース画像を指定します。この画像のピクセルは変更されません。
        `right` - 明度の変更される割合を指定します。0未満を指定することはできません。
        `dst` - nullでない場合、この引数に結果が格納されます。
      戻り値:
        srcのピクセルの明度を(right*100)%に変換した画像を返します。
      例外:
        `java.lang.IllegalArgumentException` - rightが0未満のときに投げられます。

    - #### reverseColor

          public static java.awt.image.BufferedImage reverseColor(java.awt.image.BufferedImage src,
                                                                  java.awt.image.BufferedImage dst)

      srcの色を反転した画像をdstに格納して返します.
      パラメータ:
        `src` - 色を置換するソース画像を指定します。この画像のピクセルは変更されません。
        `dst` - nullでない場合、この引数に結果が格納されます。
      戻り値:
        src中のピクセルの色情報を反転した画像を返します。

    - #### mosaic

          public static java.awt.image.BufferedImage mosaic(java.awt.image.BufferedImage src,
                                                            int size,
                                                            java.awt.image.BufferedImage dst)
                                                     throws java.lang.IllegalArgumentException,
                                                            java.awt.image.RasterFormatException

      srcに簡易的なモザイク処理を施した画像をdstに格納して返します.
      パラメータ:
        `src` - 色を置換するソース画像を指定します。この画像のピクセルは変更されません。
        `size` - モザイクのタイルのサイズをピクセル単位で指定します。1未満を指定することはできません。
        `dst` - nullでない場合、この引数に結果が格納されます。
      戻り値:
        srcをsizeピクセルごとに区切った領域をその領域のもっとも左上のピクセルの色で塗りつぶした画像を返します。
      例外:
        `java.lang.IllegalArgumentException` - sizeが1未満の場合に投げられます。
        `java.awt.image.RasterFormatException` - sizeが画像よりも大きい場合に投げられます。

    - #### rotate

          public static java.awt.image.BufferedImage rotate(java.awt.image.BufferedImage src,
                                                            float deg,
                                                            java.awt.image.BufferedImage dst)

      srcを時計回りにdeg度回転した画像をdstに格納して返します.
      パラメータ:
        `src` - 色を置換するソース画像を指定します。この画像のピクセルは変更されません。
        `deg` - 回転角度を度数法で指定します。
        `dst` - nullでない場合、この引数に結果が格納されます。
      戻り値:
        srcを回転した画像を返します。degが1のときはsrcのコピーが返されます。回転時に画像が領域の 外に出る場合、空いた領域は黒(Color.BLACK)となります。

    - #### addTransparent

          public static java.awt.image.BufferedImage addTransparent(java.awt.image.BufferedImage src,
                                                                    int tp,
                                                                    java.awt.image.BufferedImage dst)

      ソース画像の全てのピクセルの透過度にtpを加算した画像を返します. このメソッドではピクセルの透過度が0未満又は255を超える場合は有効範囲内に切り詰められます。
      tpが0の場合、透過度を変更する必要がないため、単純にsrcのコピーをdstに格納して返します。
      パラメータ:
        `src` - 透過度を変更するソース画像を指定します。この画像のピクセルデータは操作されません。
        `tp` - 加算する透過度を指定します。負数を許容します。
        `dst` - nullでない場合、この引数に結果が格納されます。
      戻り値:
        srcの全てのピクセルの透過度にtpを加算したdstに格納して画像を返します。

    - #### rasterScroll

          public static java.awt.image.BufferedImage rasterScroll(java.awt.image.BufferedImage src,
                                                                  java.awt.image.BufferedImage dst,
                                                                  int[] shiftPixNum,
                                                                  int insertARGB)

      画像の各ピクセルを指定されたサイズだけ横方向にシフトして構築した画像を返します。
      パラメータ:
        `src` - 画像。
        `dst` - nullでない場合このインスタンスに編集結果が格納される。
        `shiftPixNum` - 縦の各ピクセルのシフト幅.srcの高さに満たない場合はそれを満たすまで繰り返される.負数を指定できる
        `insertARGB` - シフトした結果,空いた領域に挿入される色をARBG形式で指定する。
      戻り値:
        nullでない場合、この引数に結果が格納されます。

    - #### blur2D

          public static java.awt.image.BufferedImage blur2D(java.awt.image.BufferedImage src,
                                                            int width,
                                                            int height,
                                                            java.awt.image.BufferedImage dst)

      水平および垂直方向にブラーエフェクトかけた画像を返します.
      パラメータ:
        `src` - 効果をかけるソース画像です。この画像のピクセルデータは操作されません。
        `width` - 水平方向のブラー範囲を送信します。1以上の値を送信でき、大きな値ほど不鮮明な効果になります。
        `height` - 垂直方向のブラー範囲を指定します。1以上の値を送信でき、大きな値ほど不鮮明な効果になります。
        `dst` - nullでない場合、この引数に結果が格納されます。
      戻り値:
        水平および垂直方向にブラーエフェクトをかけた画像をdstに格納して返します。

    - #### blur

          public static java.awt.image.BufferedImage blur(java.awt.image.BufferedImage src,
                                                          int rad,
                                                          boolean hrz,
                                                          java.awt.image.BufferedImage dst)
                                                   throws java.lang.IllegalArgumentException

      画像の水平又は垂直方向にブラー効果をかけます.
      パラメータ:
        `src` - 効果をかけるソース画像です。この画像のピクセルデータは操作されません。
        `rad` - 1つのピクセルに対する、ブラーの効果範囲を指定します。1以上の値を送信でき、大きな値ほど不鮮明な効果になります。
        `hrz` - trueのときブラーの方向が水平になります。
        `dst` - nullでない場合、この引数に結果が格納されます。
      戻り値:
        水平又は垂直方向にブラーエフェクトをかけた画像をdstに格納して返します。
      例外:
        `java.lang.IllegalArgumentException` - radが1未満の場合に投げられます。

    - #### transparent

          public static java.awt.image.BufferedImage transparent(java.awt.image.BufferedImage src,
                                                                 float tp,
                                                                 java.awt.image.BufferedImage dst)
                                                          throws java.lang.IllegalArgumentException

      ソース画像の透過度を変更した画像を返します. このメソッドは画像の全てのピクセルのアルファ値を均一にtp*100%に変更します。
      ただしソース画像の完全に透明なピクセルはそのまま完全に透明なピクセルとしてコピーされます。
      パラメータ:
        `src` - 透過度を変更するソース画像を指定します。この画像のピクセルデータは操作されません。
        `tp` - 変更後の透過度の係数を指定します。0.0fから1.0fの値を指定できます。
        `dst` - nullでない場合、この引数に結果が格納されます。
      戻り値:
        srcの完全に透明でないピクセルの透過度をtp*100%に変更した画像をdstに格納して返します。
      例外:
        `java.lang.IllegalArgumentException` - tpが1を超える場合又は0未満の場合に投げられます。

    - #### resize

          public static java.awt.image.BufferedImage resize(java.awt.image.BufferedImage src,
                                                            float scale)

      指定された画像を拡大／縮小した新しい画像を返します。
      パラメータ:
        `src` - ソース画像。
        `scale` - 拡大スケール.1.0fを指定した場合は、srcのコピーが返る。
      戻り値:
        ソース画像のスケーリング結果を返す.スケーリング係数が1.0fのときはソース画像のコピーを返す。

    - #### resizeAll

          public static java.awt.image.BufferedImage[] resizeAll(java.awt.image.BufferedImage[] images,
                                                                 float scale)