• 大小: 690KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-11
  • 语言: Java
  • 标签: Java  

资源简介

Java生成二维码,可添加图片logo和文字

资源截图

代码片段和文件信息

package com.wctweb.util;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import javax.imageio.ImageIO;
import org.apache.commons.codec.binary.base64;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;

/**  
 * @Description: (二维码)     
 */
public class ZXingCode{
    private static final int QRCOLOR = 0xFF000000;   //默认是黑色
    private static final int BGWHITE = 0xFFFFFFFF;   //背景颜色

    public static void main(String[] args){
            getLogoQRCode(“https://www.baidu.com/“ “跳转到百度的二维码“);
}
    /**
     * 生成带logo的二维码图片
     *
     * @param qrPic
     * @param logoPic
     */
    public static String getLogoQRCode(String qrUrlString productName){
//      String filePath = (javax.servlet.http.HttpServletRequest)request.getSession().getServletContext().getRealPath(“/“) + “resources/images/logoImages/llhlogo.png“;
        //filePath是二维码logo的路径,但是实际中我们是放在项目的某个路径下面的,所以路径用上面的,把下面的注释就好
        String filePath = “E:/img/20161201/20161201212120628fmql98ax.jpg“;  //TODO  
        String content = qrUrl;
        try{  
            ZXingCode zp = new ZXingCode();
            BufferedImage bim = zp.getQR_CODEBufferedImage(content BarcodeFormat.QR_CODE 400 400 zp.getDecodeHintType());
            return zp.addLogo_QRCode(bim new File(filePath) new LogoConfig() productName);
        }
        catch (Exception e){
            e.printStackTrace();
        }
        return null;
    }

    /**
     * 给二维码图片添加Logo
     *
     * @param qrPic
     * @param logoPic
     */
    public String addLogo_QRCode(BufferedImage bim File logoPic LogoConfig logoConfig String productName){
        try{
            /**
             * 读取二维码图片,并构建绘图对象
             */
            BufferedImage image = bim;
            Graphics2D g = image.createGraphics();

            /**
             * 读取Logo图片
             */
            BufferedImage logo = ImageIO.read(logoPic);
            /**
             * 设置logo的大小本人设置为二维码图片的20%因为过大会盖掉二维码
             */
            int widthLogo = logo.getWidth(null)>image.getWidth()*3/10?(image.getWidth()*3/10):logo.getWidth(null) 
                heightLogo = logo.getHeight(null)>image.getHeight()*3/10?(image.getHeight()*3/10):logo.getWidth(null);

            /**
             * logo放在中心
             */
             int x = (image.getWidth() - widthLogo) / 2;
             int y = (image.getHeight() - heightLogo) / 2;
             /**
             * logo放在右下角
             *  int x = (image.getWidth() - widthLogo);
             *  int y = (image.getHeight()

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        997  2017-02-14 09:27  ORgenTest\.classpath

     文件       1042  2017-02-14 09:25  ORgenTest\.project

     文件        503  2017-02-14 09:25  ORgenTest\.settings\.jsdtscope

     文件        364  2017-02-14 09:25  ORgenTest\.settings\org.eclipse.jdt.core.prefs

     文件        479  2017-02-14 09:25  ORgenTest\.settings\org.eclipse.wst.common.component

     文件        345  2017-02-14 09:25  ORgenTest\.settings\org.eclipse.wst.common.project.facet.core.xml

     文件         49  2017-02-14 09:25  ORgenTest\.settings\org.eclipse.wst.jsdt.ui.superType.container

     文件          6  2017-02-14 09:25  ORgenTest\.settings\org.eclipse.wst.jsdt.ui.superType.name

     文件       1048  2017-02-14 09:47  ORgenTest\build\classes\com\wctweb\util\LogoConfig.class

     文件       7419  2017-02-14 09:47  ORgenTest\build\classes\com\wctweb\util\ZXingCode.class

     文件      11348  2017-02-14 09:47  ORgenTest\src\com\wctweb\util\ZXingCode.java

     文件         39  2017-02-14 09:25  ORgenTest\WebContent\meta-INF\MANIFEST.MF

     文件     263865  2017-02-14 09:26  ORgenTest\WebContent\WEB-INF\lib\commons-codec-1.8.jar

     文件     538421  2017-02-14 09:27  ORgenTest\WebContent\WEB-INF\lib\core-3.1.0.jar

     目录          0  2017-02-14 09:33  ORgenTest\build\classes\com\wctweb\util

     目录          0  2017-02-14 09:33  ORgenTest\build\classes\com\wctweb

     目录          0  2017-02-14 09:28  ORgenTest\src\com\wctweb\util

     目录          0  2017-02-14 09:33  ORgenTest\build\classes\com

     目录          0  2017-02-14 09:33  ORgenTest\src\com\wctweb

     目录          0  2017-02-14 09:27  ORgenTest\WebContent\WEB-INF\lib

     目录          0  2017-02-14 09:28  ORgenTest\build\classes

     目录          0  2017-02-14 09:33  ORgenTest\src\com

     目录          0  2017-02-14 09:25  ORgenTest\WebContent\meta-INF

     目录          0  2017-02-14 09:25  ORgenTest\WebContent\WEB-INF

     目录          0  2017-02-14 09:25  ORgenTest\.settings

     目录          0  2017-02-14 09:25  ORgenTest\build

     目录          0  2017-02-14 09:28  ORgenTest\src

     目录          0  2017-02-14 09:25  ORgenTest\WebContent

     目录          0  2017-02-14 09:25  ORgenTest

----------- ---------  ---------- -----  ----

............此处省略2个文件信息

评论

共有 条评论