kinugasa.contents.graphics
クラス ImageUtil

java.lang.Object
  上位を拡張 kinugasa.contents.graphics.ImageUtil

public final class ImageUtil
extends java.lang.Object

Kinugasa : ImageUtil : 画像のIOや簡易編集を行うユーティリティクラスです.
このクラスからロードした画像は、通常の方法でロードされた画像よりも 高速に描画できる可能性があります。 また、このクラスのロード機能は、同じファイルパスを指定すると 同じ画像インスタンスを返します。

バージョン:
1.0.0 - 2013/01/13_2:08:33
, 1.1.0 - 2013/04/28_23:16
作成者:
Dra0211

フィールドの概要
private static java.awt.GraphicsConfiguration gc
          デフォルトのウインドウシステムがサポートする画像の生成機能を持った、グラフィックスの設定です.
private static java.util.HashMap<java.lang.String,java.lang.ref.SoftReference<java.awt.image.BufferedImage>> IMAGE_CACHE
          ロードした画像をキャッシュするためのマップです.
 
コンストラクタの概要
private ImageUtil()
          ユーティリティクラスのためインスタンス化できません.
 
メソッドの概要
static java.awt.image.BufferedImage[] columns(java.awt.image.BufferedImage src, int x, int w, int h)
          BudderdImageのx, 0 からw, hのサイズで縦方向に画像を分割し、配列として返します.
static java.awt.image.BufferedImage copy(java.awt.image.BufferedImage src)
          BufferedImageの複製を新しいインスタンスとして返します.
static java.awt.image.BufferedImage copy(java.awt.image.BufferedImage src, java.awt.image.BufferedImage dst)
          BufferedImageの複製を作成し、dstに格納します.
static java.awt.Graphics2D createGraphics2D(java.awt.image.BufferedImage image, RenderingPolicy renderingPolicy)
          画像に書き込むためのグラフィクスコンテキストを作成します.
static java.awt.GraphicsConfiguration getGraphicsConfiguration()
          メインスクリーンのデバイス設定を取得します。
static int[] getPixel(java.awt.image.BufferedImage image)
          BufferedImageのピクセルデータを配列として取得します.
static int[][] getPixel2D(java.awt.image.BufferedImage image)
          BufferedImageのピクセルデータを二次元配列として取得します.
static java.awt.image.BufferedImage lineUp(java.awt.image.BufferedImage... images)
          画像配列を水平方向に並べた新しい画像を作成して返します.
static java.awt.image.BufferedImage load(java.lang.String filePath)
          BufferedImageをファイルから作成します.
static java.awt.image.BufferedImage newImage(int width, int height)
          新しい空のBufferedImageを生成します.
static java.awt.image.BufferedImage[] rows(java.awt.image.BufferedImage src, int y, int w, int h)
          BudderdImageの0, y からw, hのサイズで横方向に画像を分割し、配列として返します.
static void save(java.lang.String filePath, java.awt.image.BufferedImage image)
          BufferedImageをファイルに保存します.
static void screenShot(java.lang.String FILE_PATH, java.awt.Rectangle BOUNDS)
          指定された領域のキャプチャを指定されたファイルに保存します.
static void setPixel(java.awt.image.BufferedImage image, int[] pix)
          BufferedImageにピクセルデータを設定します.
static void setPixel2D(java.awt.image.BufferedImage image, int[][] pix)
          BufferedImageにピクセルデータを設定します.
static java.awt.image.BufferedImage[][] splitAsArray(java.awt.image.BufferedImage src, int w, int h)
          BufferedImageの0, 0,からw, hのサイズで二次元に画像を分割し、配列として返します.
static java.util.List<java.awt.image.BufferedImage> splitAsList(java.awt.image.BufferedImage src, int w, int h)
          BufferedImageの0, 0,からw, hのサイズで二次元に画像を分割し、リストとして返します.
static java.util.Map<java.lang.String,java.awt.image.BufferedImage> splitAsMap(java.awt.image.BufferedImage src, int w, int h)
          BufferedImageの0, 0,からw, hのサイズで二次元に画像を分割し、マップとして返します.
static java.awt.image.BufferedImage tiling(java.awt.image.BufferedImage src, java.awt.image.BufferedImage dst, int xNum, int yNum)
          ソース画像を指定された数だけ水平方向に並べた画像を作成します.
static java.awt.image.BufferedImage[] transparentArray(java.awt.image.BufferedImage image, float initialTp, float addTp)
          1つの画像の透過度をinitialTpからdecTpずつ変更した画像を配列として返します.
static java.awt.image.BufferedImage trimming(java.awt.image.BufferedImage src, int x, int y, int width, int height)
           
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

gc

private static final java.awt.GraphicsConfiguration gc
デフォルトのウインドウシステムがサポートする画像の生成機能を持った、グラフィックスの設定です.


IMAGE_CACHE

private static final java.util.HashMap<java.lang.String,java.lang.ref.SoftReference<java.awt.image.BufferedImage>> IMAGE_CACHE
ロードした画像をキャッシュするためのマップです.

コンストラクタの詳細

ImageUtil

private ImageUtil()
ユーティリティクラスのためインスタンス化できません.

メソッドの詳細

getGraphicsConfiguration

public static java.awt.GraphicsConfiguration getGraphicsConfiguration()
メインスクリーンのデバイス設定を取得します。

戻り値:
デバイスの設定。このインスタンスから画像を作成できます。

newImage

public static java.awt.image.BufferedImage newImage(int width,
                                                    int height)
新しい空のBufferedImageを生成します. 作成された画像は全てのピクセルが完全に透明な黒(0x00000000)です。

パラメータ:
width - 画像の幅をピクセル単位で指定します。
height - 画像の高さをピクセル単位で指定します。
戻り値:
BufferedImageの新しいインスタンスを返します。

copy

public static java.awt.image.BufferedImage copy(java.awt.image.BufferedImage src)
BufferedImageの複製を新しいインスタンスとして返します.

パラメータ:
src - コピーする画像。
戻り値:
srcと同じ画像の新しいインスタンスを返します。

copy

public static java.awt.image.BufferedImage copy(java.awt.image.BufferedImage src,
                                                java.awt.image.BufferedImage dst)
BufferedImageの複製を作成し、dstに格納します.

パラメータ:
src - コピーする画像。
dst - nullでない場合このインスタンスに結果が格納される。
戻り値:
nullでない場合、この引数に結果が格納されます。

load

public static java.awt.image.BufferedImage load(java.lang.String filePath)
                                         throws ContentsFileNotFoundException,
                                                ContentsIOException
BufferedImageをファイルから作成します. このメソッドはすでに一度要求された画像を再度要求した場合、同じインスタンスを返します。
確実に別のインスタンスを取得する場合はこのメソッドの戻り値に対してこのクラスのcopyメソッドを使用してください。

パラメータ:
filePath - 読み込むファイルパス。
戻り値:
読み込まれた画像.すでに一度読み込まれている場合はキャッシュデータの同じ画像インスタンスを返す。
例外:
ContentsFileNotFoundException - ファイルが存在しない場合に投げられる。
ContentsIOException - ファイルがロードできない場合に投げられます。

save

public static void save(java.lang.String filePath,
                        java.awt.image.BufferedImage image)
                 throws ContentsIOException
BufferedImageをファイルに保存します. 画像形式は透過PNG画像となります。

パラメータ:
filePath - 書き込むファイルパス.上書きは確認されず、拡張子も任意。
image - 書き込む画像。
例外:
ContentsIOException - ファイルが書き込めない場合に投げられる。

getPixel

public static int[] getPixel(java.awt.image.BufferedImage image)
BufferedImageのピクセルデータを配列として取得します.

パラメータ:
image - ピクセルデータを取得する画像を送信します。
戻り値:
指定された画像のピクセルデータを一次元配列として返します。 この配列は画像に設定されているピクセルのクローンです。

getPixel2D

public static int[][] getPixel2D(java.awt.image.BufferedImage image)
BufferedImageのピクセルデータを二次元配列として取得します.

パラメータ:
image - ピクセルデータを取得する画像を送信します。
戻り値:
指定された画像のピクセルデータを二次元配列として返します。 この配列は画像に設定されているピクセルのクローンです。

setPixel

public static void setPixel(java.awt.image.BufferedImage image,
                            int[] pix)
BufferedImageにピクセルデータを設定します. このメソッドはピクセル数と画像の実際のピクセル数が異なる場合の動作は定義されていません。

パラメータ:
image - ピクセルデータを設定する画像。
pix - 設定するピクセルデータ。

setPixel2D

public static void setPixel2D(java.awt.image.BufferedImage image,
                              int[][] pix)
BufferedImageにピクセルデータを設定します. このメソッドはピクセル数と画像の実際のピクセル数が異なる場合の動作は定義されていません。

パラメータ:
image - 画像。
pix - 設定するピクセルデータ。

createGraphics2D

public static java.awt.Graphics2D createGraphics2D(java.awt.image.BufferedImage image,
                                                   RenderingPolicy renderingPolicy)
画像に書き込むためのグラフィクスコンテキストを作成します.

パラメータ:
image - グラフィックスコンテキストを取得する画像を指定します。
renderingPolicy - nullでない場合、このレンダリング設定がグラフィックスコンテキストに適用されます。
戻り値:
指定した画像に書き込むためのグラフィックスコンテキストを作成して返します。

rows

public static java.awt.image.BufferedImage[] rows(java.awt.image.BufferedImage src,
                                                  int y,
                                                  int w,
                                                  int h)
                                           throws java.awt.image.RasterFormatException
BudderdImageの0, y からw, hのサイズで横方向に画像を分割し、配列として返します.

パラメータ:
src - 画像。
y - Y座標。
w - 切り出す幅。
h - 切り出す高さ。
戻り値:
srcを横方向にwの幅で切り出した複数枚の画像。
例外:
java.awt.image.RasterFormatException - 座標またはサイズが不正な場合に投げられる。

columns

public static java.awt.image.BufferedImage[] columns(java.awt.image.BufferedImage src,
                                                     int x,
                                                     int w,
                                                     int h)
                                              throws java.awt.image.RasterFormatException
BudderdImageのx, 0 からw, hのサイズで縦方向に画像を分割し、配列として返します.

パラメータ:
src - 画像。
x - X座標。
w - 切り出す幅。
h - 切り出す高さ。
戻り値:
srcを縦方向にhの高さで切り出した複数枚の画像。
例外:
java.awt.image.RasterFormatException - 座標またはサイズが不正な場合に投げられる。

splitAsList

public static java.util.List<java.awt.image.BufferedImage> splitAsList(java.awt.image.BufferedImage src,
                                                                       int w,
                                                                       int h)
                                                                throws java.awt.image.RasterFormatException
BufferedImageの0, 0,からw, hのサイズで二次元に画像を分割し、リストとして返します. 返されるリストは1次元で、画像の左上から右方向へ並べられます。

パラメータ:
src - 画像。
w - 切り出す幅。
h - 切り出す高さ。
戻り値:
srcを指定されたサイズで切り出した複数枚の画像。
例外:
java.awt.image.RasterFormatException - 座標またはサイズが不正な場合に投げられる。

splitAsArray

public static java.awt.image.BufferedImage[][] splitAsArray(java.awt.image.BufferedImage src,
                                                            int w,
                                                            int h)
                                                     throws java.awt.image.RasterFormatException
BufferedImageの0, 0,からw, hのサイズで二次元に画像を分割し、配列として返します.

パラメータ:
src - 画像。
w - 切り出す幅。
h - 切り出す高さ。
戻り値:
srcを指定されたサイズで切り出した複数枚の画像。
例外:
java.awt.image.RasterFormatException - 座標またはサイズが不正な場合に投げられる。

splitAsMap

public static java.util.Map<java.lang.String,java.awt.image.BufferedImage> splitAsMap(java.awt.image.BufferedImage src,
                                                                                      int w,
                                                                                      int h)
                                                                               throws java.awt.image.RasterFormatException
BufferedImageの0, 0,からw, hのサイズで二次元に画像を分割し、マップとして返します. 各要素の命名規則は0ベースで[縦の要素番号][横の要素番号]の二けたの数字文字列となります。
ただし要素が2桁に満たない場合は0nのように整形されます。

パラメータ:
src - 画像。
w - 切り出す幅。
h - 切り出す高さ。
戻り値:
srcを指定されたサイズで切り出した複数枚の画像。
例外:
java.awt.image.RasterFormatException - 座標またはサイズが不正な場合に投げられる。

screenShot

public static void screenShot(java.lang.String FILE_PATH,
                              java.awt.Rectangle BOUNDS)
                       throws ContentsIOException
指定された領域のキャプチャを指定されたファイルに保存します. このメソッドは新しいスレッド[kgf screen shot]を起動し、そのスレッド内で画像を作成して保存します。
画像の上書き確認は行われません。強制的に上書きされます。

パラメータ:
FILE_PATH - ファイルパスを記述します。
BOUNDS - キャプチャする領域.デバイスのグローバル座標で指定します。
例外:
ContentsIOException - 画像が保存できない場合およびスクリーンショットが取得できない場合に 投げられます。

tiling

public static java.awt.image.BufferedImage tiling(java.awt.image.BufferedImage src,
                                                  java.awt.image.BufferedImage dst,
                                                  int xNum,
                                                  int yNum)
ソース画像を指定された数だけ水平方向に並べた画像を作成します.

パラメータ:
src - タイリングするソース画像を指定します。この画像のピクセルデータは操作されません。
dst - nullでない場合、この引数に結果が格納されます。
xNum - X方向に並べる数を指定します。
yNum - Y方向に並べる数を指定します。
戻り値:
ソース画像を2次元に隙間なく並べた画像をdstに格納して返します。

trimming

public static java.awt.image.BufferedImage trimming(java.awt.image.BufferedImage src,
                                                    int x,
                                                    int y,
                                                    int width,
                                                    int height)
                                             throws java.awt.image.RasterFormatException
例外:
java.awt.image.RasterFormatException

transparentArray

public static java.awt.image.BufferedImage[] transparentArray(java.awt.image.BufferedImage image,
                                                              float initialTp,
                                                              float addTp)
                                                       throws java.lang.IllegalArgumentException
1つの画像の透過度をinitialTpからdecTpずつ変更した画像を配列として返します. このメソッドでは、ソース画像の完全に透明なピクセルはそのまま透明なピクセルとしてコピーされます。

パラメータ:
image - 透過度を変更するソース画像。
initialTp - 透過度の初期値です。
addTp - 透過度に加算する値です。通常は負数を使用します。
戻り値:
ソース画像の、徐々に透過度が変わる画像を配列として返します。
例外:
java.lang.IllegalArgumentException - initailTpが0未満又は1を超えるときに投げられます。

lineUp

public static java.awt.image.BufferedImage lineUp(java.awt.image.BufferedImage... images)
                                           throws java.lang.IllegalArgumentException
画像配列を水平方向に並べた新しい画像を作成して返します.

パラメータ:
images - 使用する画像を1つ以上送信します。
戻り値:
imagesをその順番で左から水平方向に隙間なく並べた新しい画像を返します。
例外:
java.lang.IllegalArgumentException - imagesの長さが0のときに投げられます。