精华内容
下载资源
问答
  • 二维码字体

    2019-04-01 15:13:40
    用于显示二维码字体
  • 目前我们用VFP打印出来的字体,不够清晰,而用标签打印机自带软件打印的字体清晰,格式与我的不同。 因为是打小标签,VFP控制打印的扫不出来,而相同大小标签打印机自带软件的很容易识别 [img=...
  • 3、所有项目都可以设置字体和打印位置。 4、自动生成密码区等。 5、支持自动金额汇总,大小写自动转换。 6、打印发票可保存查询~ 本软件仅供收款、资料管理、学习使用,请勿用作非法用途以及非正当用途,否则,造成...
  • Java实现一行代码生成二维码,可对二维码添加图片,可对二维码添加文字,可以设置二维码大小、字体大小、字体颜色、边框颜色、边框大小等等。 0.准备工作 准备一张需要添加到二维码的图片,如下 1.jpg 的图片,放在 ...

    Java实现一行代码生成二维码,可传输到前端展示,可自定义二维码样式,可设置图片格式,可对二维码添加图片,可对二维码添加文字,可以设置二维码大小、字体大小、字体颜色、边框颜色、边框大小等等。

    0.准备工作

    准备一张需要添加到二维码的图片,如下 1.jpg 的图片,放在 ceshi 文件夹下。
    在这里插入图片描述

    1.集成到项目

    1.1 下载 jar 包到本地

    下载地址:
    https://github.com/YouAreOnlyOne/FastFrameJar/tree/master/QRCode
    可免费下载。

    1.2 maven方式引入

    把下载的jar包放入本地maven仓库;然后在项目的 pom.xml 文件中添加如下的依赖:

    	<dependency>
          <groupId>commons-codec</groupId>
          <artifactId>commons-codec</artifactId>
          <version>1.8</version>
        </dependency>
        
        <dependency>
          <groupId>com.google.zxing</groupId>
          <artifactId>javase</artifactId>
          <version>3.0.0</version>
        </dependency>
        
       <dependency>
          <groupId>com.ycj.fastframe</groupId>
          <artifactId>qrcode</artifactId>
          <version>1.0</version>
       </dependency>
    
    
    

    1.3 lib方式引入

    1)传统的SSM框架的Spring MVC 项目,在 WEB-INF 目录下建立 lib 目录,并把jar包复制到 lib 目录;然后在项目的 pom.xml 文件中添加如下的依赖:

    
    	<dependency>
          <groupId>commons-codec</groupId>
          <artifactId>commons-codec</artifactId>
          <version>1.8</version>
        </dependency>
        
        <dependency>
          <groupId>com.google.zxing</groupId>
          <artifactId>javase</artifactId>
          <version>3.0.0</version>
        </dependency>
            
      <dependency>
        <groupId>qrcode</groupId>
        <artifactId>qrcode</artifactId>
        <version>1.0</version>
        <scope>system</scope>
        <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/qrcode.jar</systemPath>
      </dependency>
    
    

    2)基于SpringBoot构建的项目,在 resources 目录下建立 lib 目录,并把jar包复制到 lib 目录;然后在项目的 pom.xml 文件中添加如下的依赖:

    	<dependency>
          <groupId>commons-codec</groupId>
          <artifactId>commons-codec</artifactId>
          <version>1.8</version>
        </dependency>
        
        <dependency>
          <groupId>com.google.zxing</groupId>
          <artifactId>javase</artifactId>
          <version>3.0.0</version>
        </dependency>
        
          <dependency>
              <groupId>qrcode</groupId>
              <artifactId>qrcode</artifactId>
              <version>1.0</version>
              <scope>system</scope>
              <systemPath>${project.basedir}/src/main/resources/lib/qrcode.jar</systemPath>
          </dependency>
    
    

    2.使用方法

    新建一个 TestQRCode 类进行测试,只有一行代码,具体代码如下:

    
    import java.awt.*;
    import java.io.File;
    
    
    
    /**
     * @author: Frank
     * @email 1320259466@qq.com
     * @date: 2020/3/10
     * @time: 17:24
     * @fuction: about the role of class.
     */
    public class TestQRCode {
        public static void main(String args[]) {
            QRCode.createQRCodeByFile("https://me.csdn.net/u014374009", "D:/ceshi/", 400, 460, new File("D:/ceshi/","1.jpg"), "猜猜这是谁?  ", Color.red,20, 4);
        }
    }
    
    

    3.测试结果

    可以同时生成 三种类型的二维码。也可以只生成某一种类型的二维码,上面的方法测试运行结果如下:
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    4.其它方法

    通过 QRCode 类点 方法名,有很多方法,可以进行不同的参数设置,来生成二维码。
    在这里插入图片描述

    5.其它相关

    快速集成框架 jar 包:
    https://blog.csdn.net/u014374009/category_9535972.html

    代码主页:
    https://github.com/YouAreOnlyOne

    技术介绍:
    https://me.csdn.net/u014374009

    6.更多功能

    1)、有更多的方法可供选择;
    2)、有更多的形式可供选择;
    3)、有更多的格式可供选择;
    4)、有QrCodeUtils工具类,可以自定义实现多样化生成二维码或者解析二维码;
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    完整 jar 包获取链接

    展开全文
  • 在页面设置一个“生成二维码”按钮,点击按钮,调用后台生成一个二维码图片,直接在浏览器下载下来。 生成二维码工具类QRCodeUtil.java:这个工具类需要导入依赖 &lt;!--二维码依赖--&gt; &lt;...

    在页面设置一个“生成二维码”按钮,点击按钮,调用后台生成一个二维码图片,直接在浏览器下载下来。

    生成二维码工具类QRCodeUtil.java:这个工具类需要导入依赖

    <!--二维码依赖-->
    <dependency>
        <groupId>com.google.zxing</groupId>
        <artifactId>core</artifactId>
        <version>3.1.0</version>
    </dependency>
    package com.dosion.core.common.utils;
    
    import java.awt.*;
    import java.awt.image.BufferedImage;
    import java.io.*;
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.HashMap;
    import java.util.Map;
    
    import javax.imageio.ImageIO;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.google.zxing.BarcodeFormat;
    import com.google.zxing.EncodeHintType;
    import com.google.zxing.MultiFormatWriter;
    import com.google.zxing.common.BitMatrix;
    import com.sun.image.codec.jpeg.JPEGCodec;
    import com.sun.image.codec.jpeg.JPEGImageEncoder;
    
    public class QRCode {
    
        private static final int BLACK = 0xFF000000;
        private static final int WHITE = 0xFFFFFFFF;
    
        //生成二维码
        public static String createQrCode(String url, String path, String fileName) {
            try {
                Map<EncodeHintType, String> hints = new HashMap<>();
                hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
                BitMatrix bitMatrix = new MultiFormatWriter().encode(url, BarcodeFormat.QR_CODE, 400, 400, hints);
                File file = new File(path, fileName);
    
                if (file.exists() || ((file.getParentFile().exists() || file.getParentFile().mkdirs()) && file.createNewFile())) {
                    writeToFile(bitMatrix, "jpg", file);
                    System.out.println("搞定:" + file);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
    
        //下载二维码
        public static void downFile(String url, String fileName, HttpServletRequest request, HttpServletResponse response) {
            try {
                //1.定义ContentType为("multipart/form-data")让浏览器自己解析文件格式
                response.setContentType("multipart/form-data");
                //2.中文名转码
                //response.setHeader("Content-disposition", "attachment; filename=\""+encodeChineseDownloadFileName(request, fileName+".xlsx") +"\"");
                response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("UTF-8"), "ISO-8859-1"));
                //获得文件
                File file = new File(url+fileName);
    
                FileInputStream in = new FileInputStream(file);
                //3.将文件写入缓冲区OutputStream(out)
                OutputStream out = new BufferedOutputStream(response.getOutputStream());
    
                int b = 0;
                byte[] buffer = new byte[2048];
                while ((b=in.read(buffer)) != -1){
                    //4.将缓冲区文件输出到客户端(out)
                    out.write(buffer,0,b);
                }
                in.close();
                out.flush();
                out.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        //生成带图二维码
        public static void MatrixToImage(BitMatrix matrix,String format,String path, String fileName) throws IOException{
            File f = new File(path, fileName);
            //将我们的logo提取出来,建议这里单独写一个方法,我只是为了方便
            BufferedImage b = ImageIO.read(new File("e:/1.jpg"));
            //将logo弄成70*70,如果想大点,记得要提高我们二维码的容错率
            Image image = b.getScaledInstance(70, 70,Image.SCALE_FAST);
            BufferedImage bi = toBufferedImage(matrix);
            //获取二维码画刷
            Graphics g=bi.getGraphics();
            //定位
            g.drawImage(image ,165,165, null);
            //二维码画到相应文件位置,结束。
            if(ImageIO.write(bi, format, f)){
            }
            System.out.println("二维码生成成功!");
        }
    
        private static BufferedImage toBufferedImage(BitMatrix matrix){
            BufferedImage bi=new BufferedImage(matrix.getWidth(), matrix.getHeight(), BufferedImage.TYPE_INT_RGB);
            for(int i=0;i<matrix.getWidth();i++){
                for(int j=0;j<matrix.getHeight();j++){
                    //有值的是黑色,没有值是白色
                    bi.setRGB(i, j,matrix.get(i, j)?BLACK:WHITE);
                }
            }
            return bi;
        }
    
        static void writeToFile(BitMatrix matrix, String format, File file) throws IOException {
            BufferedImage image = toBufferedImage(matrix);
            if (!ImageIO.write(image, format, file)) {
                throw new IOException("Could not write an image of format " + format + " to " + file);
            }
        }
    
        static void writeToStream(BitMatrix matrix, String format, OutputStream stream) throws IOException {
            BufferedImage image = toBufferedImage(matrix);
            if (!ImageIO.write(image, format, stream)) {
                throw new IOException("Could not write an image of format " + format);
            }
        }
        private BufferedImage image;
        private int imageWidth = 450;  //图片的宽度
        private int imageHeight = 530; //图片的高度
    
        public void createImage(String fileLocation) {
            BufferedOutputStream bos = null;
            if(image != null){
                try {
                    FileOutputStream fos = new FileOutputStream(fileLocation);
                    bos = new BufferedOutputStream(fos);
    
                    JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(bos);
                    encoder.encode(image);
                    bos.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }finally{
                    if(bos!=null){//关闭输出流
                        try {
                            bos.close();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                }
            }
        }
    
        public void graphicsGeneration(String insertUrl, String createUrl, String activeName, String schoolName, String utitle) {
            int H_title = 100;     //头部高度
            int H_mainPic = 430;  //轮播广告高度
    
            image = new BufferedImage(imageWidth, imageHeight, BufferedImage.TYPE_INT_RGB);
            //设置图片的背景色
            Graphics2D main = image.createGraphics();
            main.setColor(Color.white);
            main.fillRect(0, 0, imageWidth, imageHeight);
    
            //***********************页面头部
            Graphics title = image.createGraphics();
            //设置区域颜色
            title.setColor(new Color(86, 171, 228));
            //填充区域并确定区域大小位置
            title.fillRect(0, 0, imageWidth, H_title);
            //设置字体颜色,先设置颜色,再填充内容
            title.setColor(Color.white);
            //设置字体
            Font titleFont = new Font("微软雅黑", Font.BOLD, 18);
            title.setFont(titleFont);
            title.drawString(activeName, 150, (H_title)/2-20);
            title.drawString(schoolName, 150, (H_title)/2-20+25);
            title.drawString(utitle, 150, (H_title)/2-20+50);
    
            //***********************插入二维码
            Graphics mainPic = image.getGraphics();
            BufferedImage bimg = null;
            try {
                bimg = ImageIO.read(new File(insertUrl));
            } catch (Exception e) {}
    
            if(bimg!=null){
                mainPic.drawImage(bimg, 0, H_title, imageWidth, H_mainPic, null);
                mainPic.dispose();
            }
            createImage(createUrl);
        }
    
    }
    

    下载二维码工具类DownLoadUtil.java:

    package com.dosion.core.common.utils.excel;
    
    import com.dosion.core.common.utils.StringUtils;
    import org.springframework.core.io.DefaultResourceLoader;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.*;
    
    /**
     * 导出工具类
     * @author ty
     * @version 2019-2-13
     */
    public class DownLoadUtil {
    	/**
         * 
         * @Title: encodeChineseDownloadFileName 
         * 
         * @param @param request
         * @param @param pFileName
         * @param @return
         * @param @throws UnsupportedEncodingException
         * @return String
         * @throws
         */
        public static String encodeChineseDownloadFileName(HttpServletRequest request, String pFileName)
                throws UnsupportedEncodingException {
            
            String filename = null;
            String agent = request.getHeader("USER-AGENT");
            if (null != agent) {
                if (-1 != agent.indexOf("Firefox")) {
                	//Firefox  
                    filename = "=?UTF-8?B?" + (new String(org.apache.commons.codec.binary.Base64.encodeBase64(pFileName.getBytes("UTF-8")))) + "?=";
                } else if (-1 != agent.indexOf("Chrome")) {
                	//Chrome  
                    filename = new String(pFileName.getBytes(), "ISO8859-1");
                } else {
                	//IE7+  
                    filename = java.net.URLEncoder.encode(pFileName, "UTF-8");
                    //替换特殊字符
                    filename = StringUtils.replace(filename, "+", "%20");
                }
            } else {
                filename = pFileName;
            }
            
            return filename;
        }
        
        public static String getPysicalPath(String virtualPath,HttpServletRequest request) {
    		//获得根绝对路径
    		String physicalPath = getProjectPath();
    		//获得项目路径
    		String basePath = request.getContextPath();
    		if(virtualPath.startsWith(basePath)){
    			virtualPath = virtualPath.substring(basePath.length());
    		}
    		return physicalPath + virtualPath;
    	}
        
        /**
         * @Title: downFile 
         * @Description:
         * @param @param url文件url
         * @param @param fileName  文件名
         * @param @param response
         * @return void
         * @throws
         */
    	public static void downFile(String url,String fileName,HttpServletRequest request,HttpServletResponse response) {
             try {  
                //1.定义ContentType为("multipart/form-data")让浏览器自己解析文件格式  
                response.setContentType("multipart/form-data");  
                //2.中文名转码
                //response.setHeader("Content-disposition", "attachment; filename=\""+encodeChineseDownloadFileName(request, fileName+".xlsx") +"\"");
                 response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("UTF-8"), "ISO-8859-1") + ".xlsx");
                //获得文件
                File file = new File(url);  
                
                FileInputStream in = new FileInputStream(file);  
                //3.将文件写入缓冲区OutputStream(out)  
                OutputStream out = new BufferedOutputStream(response.getOutputStream());  
                
                int b = 0;  
                byte[] buffer = new byte[2048];  
                while ((b=in.read(buffer)) != -1){
                    //4.将缓冲区文件输出到客户端(out)
                    out.write(buffer,0,b);
                }  
                in.close();
                out.flush(); 
                out.close();  
            } catch (IOException e) { 
            	e.printStackTrace();
            }  
    	}
    	
    	/**
         * 获取工程项目根路径
         * @return
         */
        public static String getProjectPath(){
        	// 如果配置了工程路径,则直接返回,否则自动获取。
    		String projectPath = null;
    //		if (StringUtils.isNotBlank(projectPath)){
    //			return projectPath;
    //		}
    		try {
    			File file = new DefaultResourceLoader().getResource("").getFile();
    			if (file != null){
    				while(true){
    					File f = new File(file.getPath() + File.separator + "src" + File.separator + "main");
    					if (f == null || f.exists()){
    						break;
    					}
    					if (file.getParentFile() != null){
    						file = file.getParentFile();
    					}else{
    						break;
    					}
    				}
    				projectPath = file.toString();
    			}
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		return projectPath;
        }
    }
    

     

    前台代码:

    <button @click="GenerateQRcode(item.id)">生成二维码</button>
    //生成二维码
    				GenerateQRcode:function(classId){
    					var url = api.user.generateClassQRCode;
    					fetch(url,{
    						method: 'POST',
    						/*headers: new Headers({
    							'token':dataUtils.getData(config.key.tokenKey) // 指定提交方式为表单提交
    						}),*/
    					}).then(res => res.blob().then(blob => {
    						var a = document.createElement('a');
    						var url = window.URL.createObjectURL(blob);
    						var filename = 'rqcode.jpg';
    						a.href = url;
    						a.download = filename;
    						a.click();
    						window.URL.revokeObjectURL(url);
    					}));
    				},

     后台代码:

     @ApiOperation("生成班级二维码")
        @RequestMapping(value = "generateClassQRCode", method = RequestMethod.POST)
        public void generateClassQRCode(String classId,HttpServletRequest request,HttpServletResponse response){
            //生成二维码
    //要生成二维码的网址
            String url = "https://www.baidu.com/";
    //指定生成路径
            String uploadPath = "/src/main/resources/temp/";
            String fileName = "QRcode";
    //将虚拟路径转为物理路径
            String path = DownLoadUtil.getPysicalPath(uploadPath + fileName+"/", request);
    //生成二维码
            QRCode.createQrCode(url,path,fileName+".jpg");
            //下载二维码
            QRCode.downFile(path,fileName+".jpg",request,response);
        }

    后台二维码图片地址:

    把成果贴这里:

     

    展开全文
  • 需求:因为要给老师网盘设计一个二维码下载图片,基本需求是中间团队logo,下方是APK的文件名,但是在进行线上部署的时候出现了中文乱码 具体现象 这三个小框框是三个汉字 思路:在本机运行的好好的,本机是ubuntu...
    • 需求:因为要给老师网盘设计一个二维码下载图片,基本需求是中间团队logo,下方是APK的文件名,但是在进行线上部署的时候出现了中文乱码
    • 具体现象
      在这里插入图片描述
      这三个小框框是三个汉字
    • 思路:在本机运行的好好的,本机是ubuntu,服务器是centos,所以以为是服务器字体环境没有装或者是jdk的字体没有装,其实这里已经翻了糊涂了,我是用的docker容器啊,哈哈哈。
      这样的基本思路就是把缺少的字体放到服务器的系统字体
    /usr/share/fonts
    

    里面
    或者放到JRE里面,我的目录是

    /usr/lib/jdk/jre/lib/fonts
    

    当然字体需要在windows的字体库里面找,具体路径如下:

    /windows/Fonts
    

    我需要的宋体,也就是这个

    simsun.ttc
    

    这是不管用的,因为我们用的是docker容器,肯定和操作系统做了一个划分

    • 回到docker容器的思路
      既然缺少这种字体,那么直接加一个就好了,因为系统字体默认在/usr/share/fonts 所以我们只需要在构建Dockerfile的时候添加一句
    ADD ./simsun.ttc /usr/share/fonts
    

    最后是效果图:
    在这里插入图片描述

    展开全文
  • java二维码生成器及下载 1、生成二维码所需要的pom依赖 <!--二维码生成器依赖--> <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <...

    java二维码生成器及下载

    1、生成二维码所需要的pom依赖

    <!--二维码生成器依赖-->
    <dependency>
       <groupId>com.google.zxing</groupId>
       <artifactId>core</artifactId>
       <version>3.3.3</version>
       <scope>compile</scope>
    </dependency>
    <dependency>
       <groupId>com.google.zxing</groupId>
       <artifactId>javase</artifactId>
       <version>3.3.3</version>
       <scope>compile</scope>
    </dependency>

    2、前端请求可以使用ajax请求,也可以使用windows.localtion.href="请求地址";,注意:不要使用<a>标签请求,360、ie等浏览器会产生兼容性问题。


    3、主要代码解析。

    这是二维码生成的主要方法

    public static void  dowanload((二维码所包含内容依据个人情况而定),HttpServletRequest request, HttpServletResponse response,String tacheName) throws Exception {
        //二维码中包含的信息
        String content ="......";//(二维码所包含内容依据个人情况而定)
        Map<EncodeHintType, Object> hints = new HashMap<EncodeHintType, Object>();
        // 指定编码格式
        hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
        // 指定纠错级别(L--7%,M--15%,Q--25%,H--30%)
        hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
        // 编码内容,编码类型(这里指定为二维码),生成图片宽度,生成图片高度,设置参数
        BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, 400, 400, hints);
       //设置请求头
        String fileName = 图片名称;//获取文件名
        // 读取文件转换为字节数组
        OutputStream out = response.getOutputStream();
        BufferedImage image = toBufferedImage(bitMatrix);
        //将文字信息添加到二维码图片下方(这段代码如果不需要则可以去掉不影响功能)
        if (fileName != null && !fileName.equals("")) {
            //新的图片,把带二维码下面加上文字
            BufferedImage outImage = new BufferedImage(400, 445, BufferedImage.TYPE_4BYTE_ABGR);
            Graphics2D outg = outImage.createGraphics();
            //画二维码到新的面板
            outg.drawImage(image, 0, 0, image.getWidth(), image.getHeight(), null);
            //画文字到新的面板
            outg.setColor(Color.BLACK);
            outg.setFont(new Font("宋体",Font.BOLD,30));
            //字体、字型、字号
            int strWidth = outg.getFontMetrics().stringWidth(fileName);
            if (strWidth > 399) {
                //长度过长就截取前面部分
                outg.drawString(fileName, 0, image.getHeight() + (outImage.getHeight() - image.getHeight())/2 + 5 );
                //画文字 //长度过长就换行
                String fileName1 = fileName.substring(0, fileName.length()/2);
                String fileName2 = fileName.substring(fileName.length()/2, fileName.length());
                int strWidth1 = outg.getFontMetrics().stringWidth(fileName1);
                int strWidth2 = outg.getFontMetrics().stringWidth(fileName2);
                outg.drawString(fileName1, 200 - strWidth1/2, image.getHeight() + (outImage.getHeight() - image.getHeight())/2 + 12 );
                BufferedImage outImage2 = new BufferedImage(400, 485, BufferedImage.TYPE_4BYTE_ABGR);
                Graphics2D outg2 = outImage2.createGraphics();
                outg2.drawImage(outImage, 0, 0, outImage.getWidth(), outImage.getHeight(), null);
                outg2.setColor(Color.BLACK);
                outg2.setFont(new Font("宋体",Font.BOLD,30));
                //字体、字型、字号
                outg2.drawString(fileName2, 200 - strWidth2/2, outImage.getHeight() + (outImage2.getHeight() - outImage.getHeight())/2 + 5 );
                outg2.dispose(); outImage2.flush();
                outImage = outImage2;
            }else {
                outg.drawString(fileName, 200 - strWidth/2 , image.getHeight() + (outImage.getHeight() - image.getHeight())/2 + 12 );
            //画文字
            }
            outg.dispose();
            outImage.flush();
            image = outImage;
        }
        //设置图片的mime类型
        String mimeType = "image/png";
        String agent = request.getHeader("user-agent");
        String newfileName =DownLoadUtils.getName(agent,fileName );
        response.setContentType(mimeType);//设置下载头
        response.setHeader("content-disposition","attachment;filename="+newfileName+".png");
        image.flush();
        //转换成png格式的IO流
        ImageIO.write(image, "png",out);
        out.flush();
        out.close();
    }

    上面代码中所调用的 BufferedImage方法如下

    /**
     * image流数据处理
     */
    public static BufferedImage toBufferedImage(BitMatrix matrix) {
         int width = matrix.getWidth();
         int height = matrix.getHeight();
         BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
         for (int x = 0; x < width; x++) {
             for (int y = 0; y < height; y++) {
                 image.setRGB(x, y, matrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF);
             }
         }
         return image;
     }

    4、controller请求

    @Controller
    @RequestMapping("......")//个人情况所定
    public class QRCodeController {
    
        /**
         * 下载二维码
         * @param request
         * @param response
         * @param model
         */
        @RequestMapping("......")//个人情况所定
        public void  QR_Code(HttpServletRequest request, HttpServletResponse response,Model model){
            String code=request.getParameter("code");//二维码所包含内容
            try {
                dowanload(code,request,response,flowPath.getTacheName());//调用二维码生成及下载方法
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    }

    完成,使用以上代码是应根据自己的需求以作更改,如果您觉得满意,赞一个!

    展开全文
  • 二维码

    2019-04-29 19:02:28
    1.使用Q-code生成二维码 Qrcode x = new Qrcode(); x.setQrcodeErrorCorrect(‘M’);//纠错等级 x.setQrcodeEncodeMode(‘B’);//B其他数字 x.setQrcodeVersion(7);//版本 int width=67+12*(7-1);//图片的宽度 int ...
  • 了解二维码这个东西还是从微信中,当时微信推出二维码扫描功能,自己感觉挺新颖的,从一张图片中扫一下竟然能直接加好友,不可思议啊,那时候还不了解二维码,呵呵,然后做项目的时候,老板说要加上二维码扫描功能,...
  • java后端生成二维码图片用来下载

    千次阅读 2018-06-20 10:49:16
    应公司需求,要求生成二维码图片,并且将二维码放进一张底层图片上,并赋予文字。 1.首先我们要想办法生成二维码二维码是黑白双色,中间不用添加商户logo,这里我们采用的google的jar包生成二维码导入maven依赖:...
  • VIVO手机下载二维码APP

    千次阅读 2019-09-05 14:53:51
    ... 1.如果手机之前有安装相同app的先卸载掉 2.打开手机自带浏览器扫码会跳转到一个下载的网页 3.点击下载后会出现一个弹窗,点击右上角的灰色...最后安装成功后,出现背景有灰色水印字体的样式代表下载成功了 ...
  • 1需求 :1,因为项目需求 ,生成数以万计的二维码 2 ,每个二维码带不同的参数 3,二维码有固定背景图 4 , 往生成图片上写入 字体和编号(动态 )设计技术 : 1,微信接口token ,nginx 缓存 2, ...       1...
  • 目前需要生成二维码,包括文字和二维码图片,而前端只能生成当前页面的二维码,不能批量生成选中的二维码,因此需要后端生成 解决方案: 依赖: <!-- ...
  • 3.点击下载后会出现一个弹窗,点击弹窗中间部分的灰色字体源文件 4.点击后会出现一个正在下载的提示代表点击成功 5.并且从屏幕顶端,往下滑动会有一个正在下载的任务 6.稍等片刻等它下载成功后会出现应用...
  • java二维码生成 使用SSM框架 搭建属于自己的APP二维码合成、解析、下载   自己用java搭建一个属于自己APP二维码合成网站。我的思路是这样的:  1、用户在前台表单提交APP的IOS和Android下载地址。  2、后台...
  • 公司新开发的app, 需要进行推广, 所以开发了一个邀请功能的二维码 并邀请统计是哪个业务员推广的, 在这里记录一下 先来看代码 import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import...
  • 实现二维码的不保存下载,也就是现做现吃;因为可能是批量的,并进行zip压缩
  • java微信小程序参数二维码生成带背景图加字体开发教程
  • <div class="col-xs-11 post-control"> <button class="btn btn-primary" id="userSavePic" type="button" onclick="savePiceture()"><i class="fa fa-save"&...二维码下载</button> <
  • 该模块是用来动态生成二维码的vue模块插件, <qrcode-vue></qrcode-vue>的底层其实是一个<canvas></canvas>标签。 要想使用qrcode.vue插件,需要用vue的脚手架安装这个插件安装指令npm ...
  • 二维码编程

    2014-02-10 17:34:06
    Android平台下利用zxing实现二维码开发  现在走在大街小巷都能看到二维码,而且最近由于项目需要,所以研究了下二维码开发的东西,开源的二维码扫描库主要有zxing和zbar,zbar在iPos平台上应用比较成熟,而在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,813
精华内容 4,725
关键字:

二维码字体下载