【发布时间】:2015-02-20 10:54:08
【问题描述】:
当我使用code128.createImageWithBarcode() 创建图像时,条形码下的文本出现在文档中,但是当我尝试使用createAwtImage 创建并稍后将其保存到光盘时,条形码下的文本消失。知道如何处理吗?
Barcode128 code128 = new Barcode128();
code128.setCode(code.trim());
code128.setCodeType(Barcode128.CODE128);
Image code128Image = code128.createImageWithBarcode(cb, null, null);
java.awt.Image imgShipBarCode = code128.createAwtImage(Color.white, Color.black);
int w = imgShipBarCode.getWidth(null);
int h = imgShipBarCode.getHeight(null);
int type = BufferedImage.TYPE_INT_RGB; // other options
BufferedImage dest = new BufferedImage(w, h, type);
Graphics2D g2 = dest.createGraphics();
g2.drawImage(imgShipBarCode, 0, 0, null);
g2.dispose();
File outputfile = new File("c:\\image.jpg");
ImageIO.write(dest, "jpg", outputfile);
code128Image.setAbsolutePosition(10,700);
code128Image.scalePercent(125);
doc.add(code128Image);
谢谢
【问题讨论】:
-
createAwtImage 只是返回图像,这是设计使然。如果您想要文本或其他任何内容,则必须使用 awt 资源编写它。