Classe Java BufferedImage
A BufferedImage
classe Java é uma subclasse da classe Image. É usado para tratar e manipular os dados da imagem. A BufferedImage
é feito de ColorModel de dados de imagem. Todos os BufferedImage
objetos têm uma coordenada de canto superior esquerdo de (0, 0).
Construtores
Esta classe oferece suporte a três tipos de construtores.
O primeiro construtor constrói um novo BufferedImage
com um ColorModel e Raster especificados.
BufferedImage(ColorModel cm, WritableRaster raster,
boolean isRasterPremultiplied, Hashtable<?,?> properties)
O segundo construtor constrói um BufferedImage
de um dos tipos de imagem predefinidos.
BufferedImage(int width, int height, int imageType)
O terceiro construtor constrói um BufferedImage
de um dos tipos de imagem predefinidos: TYPE_BYTE_BINARY ou TYPE_BYTE_INDEXED.
BufferedImage(int width, int height, int imageType, IndexColorModel cm)
Sr. Não | Método e Descrição |
---|---|
1 | copyData(WritableRaster outRaster) Ele calcula uma região retangular arbitrária do |
2 | getColorModel() Ele retorna um objeto da classe ColorModel de uma imagem. |
3 | getData() Ele retorna a imagem como um grande bloco. |
4 | getData(Rectangle rect) Ele calcula e retorna uma região arbitrária do |
5 | getGraphics() Este método retorna um Graphics2D, mantém a compatibilidade com versões anteriores. |
6 | getHeight() Ele retorna a altura do |
7 | getMinX() Ele retorna a coordenada x mínima disso |
8 | getMinY() Ele retorna a coordenada y mínima disso |
9 | getRGB(int x, int y) Ele retorna um pixel inteiro no modelo de cor RGB padrão (TYPE_INT_ARGB) e espaço de cor sRGB padrão. |
10 | getType() Ele retorna o tipo de imagem. |
Exemplo
O exemplo a seguir demonstra o uso da BufferedImage
classe java que desenha algum texto na tela usando Graphics Object -
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);
}
}
Resultado
Quando você executa o código fornecido, a seguinte saída é vista -