| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
9年前发布

ZXing,JBarcodeBean 生成条形码 并拼接图片

由于JBarcodeBean 和JBarcode maven库里资源很少,然后改为ZXing 生成条形码

  public static void getJabCode(String code) throws IOException, WriterException{      int width = 200, height = 100;        code="301010025000001877,301010025000001878";     String[] args=code.split("\\,");            ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream();         BufferedImage imageNew1 = new BufferedImage(width, height*args.length ,        BufferedImage.TYPE_INT_RGB);     for(int i=0;i<args.length;i++){        BitMatrix bitMatrix = new MultiFormatWriter().encode(args[i],                             BarcodeFormat.CODE_128, width, height, null);             BufferedImage tempimg = toBufferedImage(bitMatrix);       int[] ImageArrayOne1 = new int[width * height];       ImageArrayOne1 = tempimg.getRGB(0, 0, width, height-10, ImageArrayOne1, 0,         width);       imageNew1.setRGB(0, 100*i, width, height-20, ImageArrayOne1, 0, width);                MatrixToImageWriter                             .writeToFile(bitMatrix, "png", new File("d:/test/zxing_01.png"));                     MatrixToImageWriter.writeToStream(bitMatrix, "png", byteOutputStream);           }     ImageIO.write(imageNew1, "png", new File("d:/test/zxing_03.png"));      }





查了好多博客 好多都用的 EAN8/EAN13/Code39 后来发现生成的条形码都不能把 数字显示完成 就改为了code128

JBarcodeBean jBarcodeBean = new JBarcodeBean();     jBarcodeBean.setCodeType(new Code128());     jBarcodeBean.setCode("301010025000001877");     BufferedImage img1 = new BufferedImage(300, 100,       BufferedImage.TYPE_INT_RGB);     img1 = jBarcodeBean.draw(img1);     saveToPNG(img1, "4.png");

static void saveToJPEG(BufferedImage paramBufferedImage, String paramString) {    saveToFile(paramBufferedImage, paramString, "jpeg");   }  static void saveToFile(BufferedImage paramBufferedImage,     String paramString1, String paramString2) {    try {     FileOutputStream localFileOutputStream = new FileOutputStream(       "d:/test/" + paramString1);     ImageUtil.encodeAndWrite(paramBufferedImage, paramString2,       localFileOutputStream, 100, 100);     localFileOutputStream.close();    } catch (Exception localException) {     localException.printStackTrace();    }   }

因为有需要把生成的条形码 拼接在一个图片里 保存

public byte[] getJabCode(String code) throws IOException{    //String code="301010025000001877,301010025000001878";    String[] args=code.split("\\,");    JBarcodeBean jBarcodeBean = new JBarcodeBean();    jBarcodeBean.setLabelPosition(JBarcodeBean.LABEL_BOTTOM);    // 条形码类型    jBarcodeBean.setCodeType(new Code128());    // jBarcodeBean.setCodeType(new Code39());    //jBarcodeBean1.setLabelPosition(JBarcodeBean.LABEL_BOTTOM);    int width1=200;    int height1 =100;    BufferedImage imageNew1 = new BufferedImage(width1, height1*args.length ,      BufferedImage.TYPE_INT_RGB);        for(int i=0;i<args.length;i++){     jBarcodeBean.setCode(args[i]);     BufferedImage tempimg = new BufferedImage(width1, height1,       BufferedImage.TYPE_INT_RGB);     tempimg = jBarcodeBean.draw(tempimg);      int[] ImageArrayOne1 = new int[width1 * height1];     ImageArrayOne1 = tempimg.getRGB(0, 0, width1, height1, ImageArrayOne1, 0,       width1);     imageNew1.setRGB(0, 100*i, width1, height1, ImageArrayOne1, 0, width1);         }          ByteArrayOutputStream out = new ByteArrayOutputStream();          boolean flag = ImageIO.write(imageNew1, "gif", out);          byte[] b = out.toByteArray();    //saveToPNG(imageNew1, "imageNew1.png");    return b;   }


来自: http://my.oschina.net/ruibo/blog/546364

 本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1451802260667.html
条形码/二维码开发包