From: Vu, A. T. <An...@vo...> - 2008-06-03 12:35:17
|
Bravo, I want to find the solution, which exactly as you said. I've tried as two files: - The first file is only for main: GenerateJPEG.java import org.krysalis.barcode4j.*; public class GenerateJPEG { public static void main(String[] args) { generateSomeJPEG ai = new generateSomeJPEG(); } } - The second file is the same program, which you send me as example: generateSomeJPEG.java import java.awt.Color; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.geom.AffineTransform; import java.io.File; import java.io.IOException; import java.io.OutputStream; import org.krysalis.barcode4j.tools.UnitConv; import java.awt.image.BufferedImage; import java.io.File; import java.io.OutputStream; import org.krysalis.barcode4j.impl.code128.Code128Bean; import org.krysalis.barcode4j.tools.UnitConv; import org.krysalis.barcode4j.*; import org.krysalis.barcode4j.output.bitmap.BitmapBuilder; import org.krysalis.barcode4j.output.java2d.Java2DCanvasProvider; class generateSomeJPEG { public static void generateSomeJPEG() throws IOException { Code128Bean bean = new Code128Bean(); String msg = "12345"; int orientation = 5; int resolution = 300; BarcodeDimension dim = bean.calcDimensions(msg); int bmw = UnitConv.mm2px(dim.getWidthPlusQuiet(orientation), resolution); int bmh = UnitConv.mm2px(dim.getHeightPlusQuiet(orientation), resolution); BufferedImage bi = new BufferedImage(bmw, bmh, BufferedImage.TYPE_BYTE_BINARY); Graphics2D g2d = bi.createGraphics(); g2d.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON); g2d.setBackground(Color.white); g2d.setColor(Color.black); g2d.clearRect(0, 0, bi.getWidth(), bi.getHeight()); //Set up coordinate system: Barcode4J calculates in millimeters internally g2d.scale(bi.getWidth() / dim.getWidthPlusQuiet(orientation), bi.getHeight() / dim.getHeightPlusQuiet(orientation)); Java2DCanvasProvider canvas = new Java2DCanvasProvider(g2d, orientation); bean.generateBarcode(canvas, msg); AffineTransform at = new AffineTransform(); at.translate(5, 15); at.rotate(Math.PI / -4); g2d.transform(at); g2d.setFont(g2d.getFont().deriveFont(4.0f)); g2d.drawString("Some text!", 10, 10); File outputFile = new File("C:\\out.jpg"); OutputStream out = new java.io.FileOutputStream(outputFile); try { BitmapBuilder.saveImage(bi, out, "image/jpeg", resolution); } finally { out.close(); } } } This program has been run but I couldn't find the *.jpg in this folder "C:\\out.jpg". Have you ever seen this problem? Many thanks for your advanced. Best regards, Antoni |