public static String encodeToBase64(String content){
MultiFormatWriter multiFormatWriter = new MultiFormatWriter(); Map hints = new HashMap(); hints.put(EncodeHintType.CHARACTER_SET, "UTF-8"); //设置字符集编码类型 BitMatrix bitMatrix = null; try { bitMatrix = multiFormatWriter.encode(content, BarcodeFormat.QR_CODE, 300, 300,hints); BufferedImage image = toBufferedImage(bitMatrix); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); //输出二维码图片流 try { ImageIO.write(image, "png",outputStream); return Base64.encodeBase64String(outputStream.toByteArray()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (WriterException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } return null; }
基础转换
public void putImage(String key, Image image) throws IOException { // Image->bufferreImage BufferedImage bimg = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_RGB); Graphics g = bimg.createGraphics(); g.drawImage(image, 0, 0, null); g.dispose(); // bufferImage->base64 ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); ImageIO.write(bimg, "jpg", outputStream); BASE64Encoder encoder = new BASE64Encoder(); String base64Img = encoder.encode(outputStream.toByteArray()); // 输出 this.content = this.content.replace("@{" + key + "}", "<img src= \"data:image/png;base64," + base64Img + "\"/>");}public void putImage(String key, Image image, int width, int height) throws IOException { // Image->bufferreImage BufferedImage bimg = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_RGB); Graphics g = bimg.createGraphics(); g.drawImage(image, 0, 0, null); g.dispose(); // bufferImage->base64 ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); ImageIO.write(bimg, "jpg", outputStream); BASE64Encoder encoder = new BASE64Encoder(); String base64Img = encoder.encode(outputStream.toByteArray()); this.content = this.content.replace("@{" + key + "}", "<img src= \"data:image/png;base64," + base64Img + "\" width=\"" + width + "\" height=\"" + height + "\"/>");}