BufferedImage クラス
[内容]
イメージデータにアクセス可能なバッファーを備えた Image を記述します.
[主な変数]
(イメージ型)
public static final int
TYPE_CUSTOM
イメージ型が認識されない
public static final int
TYPE_INT_RGB
整数型ピクセルにパックされた 8 ビット RGB 色成分によるイメージ
public static final int
TYPE_INT_ARGB
整数型ピクセルにパックされた 8 ビット RGBA 色成分によるイメージ
public static final int
TYPE_INT_ARGB_PRE
整数型ピクセルにパックされた 8 ビット RGBA 色成分によるイメージ.アルファがあらかじめ乗算されている.
public static final int
TYPE_INT_BGR
青緑赤が整数型ピクセルにパックされた 8 ビット RGB 色成分 (Windows スタイルまたは Solaris スタイルの BGR カラーモデルに対応) によるイメージ
public static final int
TYPE_3BYTE_BGR
青緑赤が 3 バイトに格納された 8 ビット RGB 色成分 (Windows スタイルの BGR カラーモデルに対応) によるイメージ
public static final int
TYPE_4BYTE_ABGR
青緑赤が 3 バイトに格納され,1 バイトのアルファを持つ 8 ビット RGBA 色成分によるイメージ
public static final int
TYPE_4BYTE_ABGR_PRE
青緑赤が 3 バイトに格納され,1 バイトのアルファを持つ 8 ビット RGBA 色成分によるイメージ.アルファがあらかじめ乗算されている.
public static final int
TYPE_USHORT_565_RGB
アルファなしの 5-6-5 RGB 色成分 (5 ビットの赤,6 ビットの緑,5 ビットの青) によるイメージ
public static final int
TYPE_USHORT_555_RGB
アルファなしの 5-5-5 RGB 色成分 (5 ビットの赤,5 ビットの緑,5 ビットの青) によるイメージ
public static final int
TYPE_BYTE_GRAY
符号なし byte グレースケールイメージ
public static final int
TYPE_USHORT_GRAY
符号なし short グレースケールイメージ
public static final int
TYPE_BYTE_BINARY
不透明な byte パックの 1,2,または 4 ビットイメージ
public static final int
TYPE_BYTE_INDEXED
インデックス付き byte イメージ
[コンストラクタ]
public
BufferedImage
(int width, int height, int imageType)
定義済みイメージ型の中の 1 つで BufferedImage を構築
[主なメソッド]
public int
getType
()
イメージ型を返す.不明型の場合は,TYPE_CUSTOM が返される.
public int
getRGB
(int x, int y)
デフォルト RGB カラーモデル (TYPE_INT_ARGB) およびデフォルト sRGB カラースペースで 整数型ピクセルを返す
public int[]
getRGB
(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize)
デフォルト RGB カラーモデル (TYPE_INT_ARGB) およびデフォルト sRGB カラースペースでイメージデータの一部から整数型ピクセルの配列を返す.各ピクセルの参照は以下のようにして行う
pixel = rgbArray[offset + (y-startY)*scansize + (x-startX)];
public void
setRGB
(double x, double y, int rgb)
指定されたピクセルを指定された RGB 値に設定.ピクセルは,デフォルト RGB カラーモデル (TYPE_INT_ARGB) およびデフォルト sRGB カラースペースにあると見なされる.
public void
setRGB
(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize)
デフォルト RGB カラーモデル (TYPE_INT_ARGB) およびデフォルト sRGB カラースペースでイメージデータの一部から整数型ピクセルの配列を返す.各ピクセルの参照は以下のようにして行う
pixel = rgbArray[offset + (y-startY)*scansize + (x-startX)];
public int
getWidth
()
BufferedImage の幅
public int
getHeight
()
BufferedImage の高さ
public Graphics
getGraphics
()
Graphics2D を返す.下位互換のために提供されるが,createGraphics の方が便利
public Graphics
createGraphics
()
この BufferedImage に描画するために使用できる Graphics2D を作成
public BufferedImage
getSubimage
(int x, int y, int w, int h)
指定された矩形領域で定義されるサブイメージを返す
[使用例]
プログラム
は,
ConvolveOp クラス
を使用したぼかしの例です.画像の縁をぼかすための処理も行っています.
プログラム
は,
ConvolveOp クラス
を使用し,左側に示した元の画像をぼかした例です.
プログラム
は,
ColorConvertOp クラス
を使用し,左側に示した元の画像をグレースケールに変換した例です.
プログラム
は,
AffineTransform クラス
と
AffineTransformOp クラス
を使用した反転と回転の例です.2 番目の画像は,最初の画像を左右反転し,また,3 番目及び 4 番目の例は 45 度だけ回転しています.
プログラム
は,
LookupOp クラス
を使用し,左側に示した元の画像のすべてのピクセルの階調を反転した例です.
プログラム
は,
RescaleOp クラス
を使用し,左側に示した元の画像のすべてのピクセルの輝度を半分にした例です.
[参照]
RescaleOp
,
LookupOp
,
ColorConvertOp
,
ConvolveOp
,
AffineTransform
,
AffineTransformOp
,
PixelGrabber
,
MemoryImageSource
菅沼ホーム
本文目次
演習問題解答例
付録目次
索引