Através de um tutorial neste site, consegui criar código de barra em um Frame. partindo do mesmo tutorial, como posso salvar a imagem deste código em jpg ou gif.
vejam a classe que imprime o código no frame (conforme tutorial)
class BarCodeCanvas extends JPanel {
private BarCode2D barCode;
public BarCodeCanvas(BarCode2D bc) {
super();
setBackground(Color.white);
barCode = bc;
}
public void setBarCode2D(BarCode2D bc) {
barCode = bc;
repaint();
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
barCode.getRenderer().render(g, 10, 10, 25);
}
}
vejam a função para salvar a imagem
private void salvagif(Interleaved2of5 bc)
{
try {
//create bufferred image
java.awt.image.BufferedImage image = new java.awt.image.BufferedImage( 600,60,java.awt.image.BufferedImage.TYPE_INT_RGB );
java.awt.Graphics imgGraphics = image.createGraphics();
o problema está aqui. Preciso um método paint que insira a imagem em imgGraphics partindo ou não da classe barCodeCanvas.
// bc.paint(imgGraphics );
// barCodeCanvas.setBarCode2D(barCode);
// open file
java.io.File f=new java.io.File("C:/temp/codigobarra.jpg");
f.delete();
java.io.FileOutputStream of=new java.io.FileOutputStream(f);
// encode buffered image to a jpeg
com.sun.image.codec.jpeg.JPEGImageEncoder encoder = com.sun.image.codec.jpeg.JPEGCodec.createJPEGEncoder(of );
encoder.encode( image );
of.close();
Aguardo instruções. Obrigado.