예제 #1
0
 /**
  * 生成带logo的二维码
  *
  * @param content 条码文本内容
  * @param width 条码宽度
  * @param height 条码高度
  * @param logoPath 条码中logo的路径
  * @param fileType 文件类型,如png
  * @param savePath 保存路径
  */
 public static void encodeLogo(
     String content, int width, int height, String logoPath, String fileType, String savePath) {
   try {
     BitMatrix matrix = MatrixToImageWriterEx.createQRCode(content, width, height);
     MatrixToLogoImageConfig logoConfig = new MatrixToLogoImageConfig(Color.BLUE, 4);
     MatrixToImageWriterEx.writeToFile(matrix, fileType, savePath, logoPath, logoConfig);
   } catch (Exception e) {
     e.printStackTrace();
   }
 }
예제 #2
0
  /**
   * 写入二维码、以及将照片logo写入二维码中
   *
   * @param matrix 要写入的二维码
   * @param format 二维码照片格式
   * @param imagePath 二维码照片保存路径
   * @param logoPath logo路径
   * @throws IOException
   */
  @SuppressWarnings({"deprecation"})
  public static void writeToFile(BitMatrix matrix, String format, String imagePath, String logoPath)
      throws IOException {
    MatrixToImageWriter.writeToFile(matrix, format, new File(imagePath), new MatrixToImageConfig());

    // 添加logo图片, 此处一定需要重新进行读取,而不能直接使用二维码的BufferedImage 对象
    BufferedImage img = ImageIO.read(new File(imagePath));
    MatrixToImageWriterEx.overlapImage(img, format, imagePath, logoPath, DEFAULT_CONFIG);
  }