Software, Java & afins

Fabricio Braga, Sun Certified

Criando Imagens com Java

escrito por Fabricio Braga em Jun 2009

Outro dia precisei criar dinamicamente uma imagem, usando Java.

Esta foi a alternativa a um Applet, que não estava sendo carregado por problemas com o Internet Explorer 7 e 8.  Como o Applet apenas exibia uma imagem e não tinha interatividade (a imagem era criada dinamicamente e apenas exibida), optamos por remover o Applet e colocar a imagem pura sendo gerada dinamicamente, e sendo exibida para o cliente.

Fácil e rápido.  Coloco aqui abaixo o código que faz isso:

public BufferedImage createImage() {
logger.info(”creating image”);
try {

public BufferedImage createImage() {

logger.info(”creating image”);

try {

// criando a imagem:

BufferedImage img = new BufferedImage(

100, 100, BufferedImage.TYPE_3BYTE_BGR);

img.createGraphics();

Graphics2D g = (Graphics2D) img.getGraphics();

g.setColor(Color.YELLOW);

g.fillRect(0, 0, 100, 100);

//aqui criaremos apenas uma imagem aleatória…

for (int i = 1; i < 49; i++) {

g.setColor(new Color(5 * i, 5 * i, 4 + 1 * 2 + i * 3));

g.fillRect(2 * i, 2 * i, 3 * i, 3 * 1);

}

return img;

} catch (Exception e) {

logger.error(”erro ao criar imagem! “, e);

}

return null;

}

E pronto!  Este método cria a imagem, e você salva-la, ou devolve-la direto para o cliente.  Aqui um código que salvaria a imagem, por exemplo:

public void saveImage(BufferedImage img, String ref) {

try {

String format = (ref.endsWith(”.png”)) ? “png” : “jpg”;

ImageIO.write(img, format, new File(ref));

} catch (IOException e) {

e.printStackTrace();

}

}

Moleza.  Espero ter ajudado!

Comments are closed.