Gerar imagens "on the fly"

1 resposta
furutani

Pesquisando no forum encontrei essa mensagem:

“Adler Medrado”:
DEUS SEJA LOUVADO!

No site www.jspbrasil.com.br tem um tutorial de como gerar imagens “on the fly” e neste tutorial eles citam como exemplo a geração de códigos de barras…

o link é: http://www.jspbrasil.com.br:8081/jspbrasil/artigos/imagemonfly.jsp


É justamente do que preciso, mas o problema é que esse site está fora do ar.
Será que alguem tem guardado esse tutorial? ou pelo menos o fonte?

Obrigado
Roberto

1 Resposta

furutani

Ainda não consegui encontrar o tutorial.
Mas eu fiz isso aqui, ele gera uma imagem dinamicamente com um texto fornecido pelo usuário.
Espero que sirva pra alguém. :D

<%@ page import="java.awt.*" %>
<%@ page import="java.awt.image.*" %>
<%@ page import="java.lang.*" %>
<%@ page import="com.sun.image.codec.jpeg.JPEGImageEncoder" %>
<%@ page import="java.io.*" %>
<%@ page import="com.sun.image.codec.jpeg.JPEGCodec" %>
<%

//Pega o texto de um formulario
String texto =  request.getParameter("txt");

ServletOutputStream sos;
sos = response.getOutputStream();

response.setContentType("image/jpeg");
response.setHeader ("Pragma", "no-cache");
response.setHeader ("Cache-Control", "no-cache");
response.setDateHeader ("Expires",0);

try {
BufferedImage imagem = new BufferedImage(300,100,BufferedImage.TYPE_INT_RGB);
Graphics2D g = imagem.createGraphics();

//Desenha um monte de linhas azul e vermelhas
int c = 1;
g.setColor(Color.RED);
while (c <= 20){
      if ( c % 2 == 0)
      g.setColor(Color.BLUE);
      else
      g.setColor(Color.RED);

g.drawLine(0,1,300,c * 10);
c++;
}
g.setColor(Color.WHITE);
g.setFont(new Font("verdana",Font.BOLD,20));

//Escreve o texto
g.drawString(texto,3,50);
g.dispose();

JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(sos);
encoder.encode(imagem);

} catch (IOException e) {
e.printStackTrace();
}
%>
Criado 21 de dezembro de 2003
Ultima resposta 24 de dez. de 2003
Respostas 1
Participantes 1