JavaBufferedImageクラス
JavaBufferedImage
クラスはImageクラスのサブクラスです。画像データの処理と操作に使用されます。ABufferedImage
は画像データのColorModelでできています。すべてのBufferedImage
オブジェクトの左上隅の座標は(0、0)です。
コンストラクター
このクラスは、3種類のコンストラクターをサポートします。
最初のコンストラクターはBufferedImage
、指定されたColorModelとRasterを使用してnewを作成します。
BufferedImage(ColorModel cm, WritableRaster raster,
boolean isRasterPremultiplied, Hashtable<?,?> properties)
2番目のコンストラクターBufferedImage
は、事前定義されたイメージタイプの1つを構築します。
BufferedImage(int width, int height, int imageType)
3番目のコンストラクターBufferedImage
は、事前定義されたイメージタイプの1つであるTYPE_BYTE_BINARYまたはTYPE_BYTE_INDEXEDを構築します。
BufferedImage(int width, int height, int imageType, IndexColorModel cm)
シニア番号 | 方法と説明 |
---|---|
1 | copyData(WritableRaster outRaster) の任意の長方形領域を計算 |
2 | getColorModel() 画像のColorModelクラスのオブジェクトを返します。 |
3 | getData() 画像を1つの大きなタイルとして返します。 |
4 | getData(Rectangle rect) の任意の領域を計算して返します |
5 | getGraphics() このメソッドはGraphics2Dを返し、下位互換性を保持します。 |
6 | getHeight() の高さを返します |
7 | getMinX() これの最小x座標を返します |
8 | getMinY() これの最小y座標を返します |
9 | getRGB(int x, int y) デフォルトのRGBカラーモデル(TYPE_INT_ARGB)とデフォルトのsRGB色空間で整数ピクセルを返します。 |
10 | getType() 画像タイプを返します。 |
例
次の例は、BufferedImage
GraphicsObjectを使用して画面にテキストを描画するJavaクラスの使用法を示しています。
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Test extends JPanel {
public void paint(Graphics g) {
Image img = createImageWithText();
g.drawImage(img, 20,20,this);
}
private Image createImageWithText() {
BufferedImage bufferedImage = new BufferedImage(200,200,BufferedImage.TYPE_INT_RGB);
Graphics g = bufferedImage.getGraphics();
g.drawString("www.tutorialspoint.com", 20,20);
g.drawString("www.tutorialspoint.com", 20,40);
g.drawString("www.tutorialspoint.com", 20,60);
g.drawString("www.tutorialspoint.com", 20,80);
g.drawString("www.tutorialspoint.com", 20,100);
return bufferedImage;
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.getContentPane().add(new Test());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 200);
frame.setVisible(true);
}
}
出力
指定されたコードを実行すると、次の出力が表示されます-