zoukankan      html  css  js  c++  java
  • zxing生成二维码转base64 img直接显示 Image对象转Base64码(java)

    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
    + ""/>");
    }

  • 相关阅读:
    使用EF进行简单的增删改查
    观察者模式(委托事件的小应用)
    lambda表达式和表达式树
    socket知识总结
    xml读写Demo
    winfrom DataGridView Demo
    6月26号.NET面试题(程序题部分)只要做懂这3道题肯定能脱离菜鸟称号!
    多线程与异步编程知识简单总结
    15年6月14号面试中没有回答出来的问题
    2020.5.15记一次阿里电话面试经历
  • 原文地址:https://www.cnblogs.com/yxw699/p/9298262.html
Copyright © 2011-2022 走看看