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

  • 相关阅读:
    datasnap的监督功能【3】-TCP链接监督功能
    实体服务规则或值更新设置字段锁定性
    设置指定的单据视图
    启动或停止IIS
    SSMS2014清除登录记录
    未授予用户在此计算机上的请求登录类型
    采购合同手动下推采购订单提示没有NAME属性
    审批流消息中无法获取明细字段
    费用申请单反写费用合同提示第2行总金额超出,但是实际未超出
    调试手机端
  • 原文地址:https://www.cnblogs.com/yxw699/p/9298262.html
Copyright © 2011-2022 走看看