1.去序号和点

    技术2022-05-18  14

    描述: 拷贝代码时,每行会有 1. 这样的,很讨厌。[0-9]+/.

    ------------------------------------------------------------------------------------------------------1.private static final int HEIGHT_SPACE = 20;// 图片之间的间隔   2.  3.public static void main(String[] args) throws Exception {   4.    List<String> codeList = new ArrayList<String>();   5.    codeList.add("ABCD124645765");   6.    codeList.add("ABCD12-4645-765");   7.    codeList.add("ABCD12464-5765");   8.    codeList.add("AB-CD1-246457-65");   9.    createBarcodeImage(200, 100, codeList);   10.    System.out.println("The image is created.");   11.}   12.  13./**  14. * Creates the barcode image.  15. *   16. * @param barCodeWidth  17. *            生成条形码的宽度  18. * @param barCodeHeight  19. *            生成条形码的高度  20. * @param codeList  21. *            要生成条形码的字符集合  22. *   23. * @throws Exception  24. *             the exception  25. */  26.public static void createBarcodeImage(int barCodeWidth, int barCodeHeight,   27.        List<String> codeList) throws Exception {   28.    // list不能为空   29.    Assert.assertTrue("The list can not empty.", codeList.size() > 0);   30.    // 图片宽度   31.    int imageWidth = (barCodeWidth + barCodeWidth / 2) * codeList.size() + barCodeWidth / 2;   32.    // 图片高度   33.    int imageHeight = barCodeHeight + HEIGHT_SPACE * 2;   34.    BufferedImage img = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_INT_RGB);   35.    Graphics2D g = (Graphics2D) img.getGraphics();   36.    g.fillRect(0, 0, imageWidth, imageHeight);   37.    Font font = new java.awt.Font("", java.awt.Font.PLAIN, 12);   38.    Barcode128 barcode128 = new Barcode128();   39.    FontRenderContext fontRenderContext = g.getFontRenderContext();   40.    // 条形码(文字)的高度   41.    int stringHeight = (int) font.getStringBounds("", fontRenderContext).getHeight();   42.    // 图片横坐标开始位置   43.    int startX = barCodeWidth / 2;   44.    // 图片纵坐标开始位置   45.    int imageStartY = (imageHeight - barCodeHeight - stringHeight) / 2;   46.    int stringStartY = imageStartY * 2 + barCodeHeight;// 条形码(文字)开始位置   47.    for (String code : codeList) {   48.        int codeWidth = (int) font.getStringBounds(code, fontRenderContext).getWidth();   49.        barcode128.setCode(code);   50.        Image codeImg = barcode128.createAwtImage(Color.black, Color.white);   51.        g.drawImage(codeImg, startX, imageStartY, barCodeWidth, barCodeHeight, Color.white, null);   52.        // 为图片添加条形码(文字),位置为条形码图片的下部居中   53.        AttributedString ats = new AttributedString(code);   54.        ats.addAttribute(TextAttribute.FONT, font, 0, code.length());   55.        AttributedCharacterIterator iter = ats.getIterator();   56.        // 设置条形码(文字)的颜色为蓝色   57.        g.setColor(Color.BLUE);   58.        // 绘制条形码(文字)   59.        g.drawString(iter, startX + (barCodeWidth - codeWidth) / 2, stringStartY);   60.        // 更改图片横坐标开始位置,图片之间的空隙为条形码的宽度的一半   61.        startX = startX + barCodeWidth / 2 + barCodeWidth;   62.    }   63.    g.dispose();   64.    OutputStream os = new BufferedOutputStream(new FileOutputStream("/home/admin/codeList.png"));   65.    ImageIO.write(img, "PNG", os);   66.}  -----------------------------------------------------------------------------------------------------------------输出格式private static final int HEIGHT_SPACE = 20;// 图片之间的间隔     public static void main(String[] args) throws Exception {       List<String> codeList = new ArrayList<String>();       codeList.add("ABCD124645765");       codeList.add("ABCD12-4645-765");       codeList.add("ABCD12464-5765");       codeList.add("AB-CD1-246457-65");       createBarcodeImage(200, 100, codeList);       System.out.println("The image is created.");   }     /**   * Creates the barcode image.   *    * @param barCodeWidth   *            生成条形码的宽度   * @param barCodeHeight   *            生成条形码的高度   * @param codeList   *            要生成条形码的字符集合   *    * @throws Exception   *             the exception   */  public static void createBarcodeImage(int barCodeWidth, int barCodeHeight,           List<String> codeList) throws Exception {       // list不能为空       Assert.assertTrue("The list can not empty.", codeList.size() > 0);       // 图片宽度       int imageWidth = (barCodeWidth + barCodeWidth / 2) * codeList.size() + barCodeWidth / 2;       // 图片高度       int imageHeight = barCodeHeight + HEIGHT_SPACE * 2;       BufferedImage img = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_INT_RGB);       Graphics2D g = (Graphics2D) img.getGraphics();       g.fillRect(0, 0, imageWidth, imageHeight);       Font font = new java.awt.Font("", java.awt.Font.PLAIN, 12);       Barcode128 barcode128 = new Barcode128();       FontRenderContext fontRenderContext = g.getFontRenderContext();       // 条形码(文字)的高度       int stringHeight = (int) font.getStringBounds("", fontRenderContext).getHeight();       // 图片横坐标开始位置       int startX = barCodeWidth / 2;       // 图片纵坐标开始位置       int imageStartY = (imageHeight - barCodeHeight - stringHeight) / 2;       int stringStartY = imageStartY * 2 + barCodeHeight;// 条形码(文字)开始位置       for (String code : codeList) {           int codeWidth = (int) font.getStringBounds(code, fontRenderContext).getWidth();           barcodesetCode(code);           Image codeImg = barcodecreateAwtImage(Color.black, Color.white);           g.drawImage(codeImg, startX, imageStartY, barCodeWidth, barCodeHeight, Color.white, null);           // 为图片添加条形码(文字),位置为条形码图片的下部居中           AttributedString ats = new AttributedString(code);           ats.addAttribute(TextAttribute.FONT, font, 0, code.length());           AttributedCharacterIterator iter = ats.getIterator();           // 设置条形码(文字)的颜色为蓝色           g.setColor(Color.BLUE);           // 绘制条形码(文字)           g.drawString(iter, startX + (barCodeWidth - codeWidth) / 2, stringStartY);           // 更改图片横坐标开始位置,图片之间的空隙为条形码的宽度的一半           startX = startX + barCodeWidth / 2 + barCodeWidth;       }       g.dispose();       OutputStream os = new BufferedOutputStream(new FileOutputStream("/home/admin/codeList.png"));       ImageIO.write(img, "PNG", os);   } 


    最新回复(0)