精华内容
下载资源
问答
  • 方便地将需要转换的字符转换为二维码字符。方便开发者可以直接将二维码以字符的方式放到代码中,扫一扫就可以快速打开内容或网址。

    方便地将需要转换的字符转换为二维码字符。方便开发者可以直接将二维码以字符的方式放到代码中,扫一扫就可以快速打开内容或网址。

    1.转换代码

    • 输入需要转换的字符返回二维码字符。
    QString toQRcode(const QString &plain)
    {
        /* Create the QR code */
        QRCode qrcode;
        uint8_t qrcodeData[qrcode_getBufferSize(3)] = {0};
        qrcode_initText(&qrcode,
                        qrcodeData, 
                        3, 
                        0, 
                        plain.toStdString().c_str());
    
        QString result;
        for (uint8_t y = 0; y < qrcode.size; y++) {
            /* Each horizontal module */
            for (uint8_t x = 0; x < qrcode.size; x++) {
                /* Print each module (UTF-8 \u2588 is a solid block) */
                result += qrcode_getModule(&qrcode, x, y) ? 
                          QString("\u2588\u2588") : QString("  ");
            }
    
            result.append(QString("\r\n"));
        }
    
        return result;
    }
    

    int main(int argc, char *argv[])
    {
        QString result =  toQRcode("http://weixin.qq.com/r/p0xudjXEUmgtrXEV9xm1");
        qDebug().noquote()<<result;
        return 0;
    }
    

    2.转换效果

    • 扫描二维码试试吧。
      插图

    3.特别感谢

    • 非常感谢ricomoo的二维码C库(https://github.com/ricmoo/QRCode)

    4.关于更多

    • 源码地址: https://github.com/aeagean/QtQRcode.git
    • Qt君公众号回复"工具"获取更多相关信息。
    展开全文
  • 二维码的生成从iOS7开始集成了二维码的生成和读取功能 此前被广泛使用的zbarsdk目前不支持64位处理器生成二维码的步骤: 导入CoreImage框架 通过滤镜CIFilter生成二维码二维码的内容(传统的条形码只能放数字): ...

    二维码的生成

    从iOS7开始集成了二维码的生成和读取功能
    此前被广泛使用的zbarsdk目前不支持64位处理器

    生成二维码的步骤:
    导入CoreImage框架
    通过滤镜CIFilter生成二维码

    二维码的内容(传统的条形码只能放数字):

    纯文本
    名片
    URL
    具体帖子看这里:

    http://www.jianshu.com/p/b893690b472e

    http://blog.csdn.net/wangzi11322/article/details/47802963

    http://www.jianshu.com/p/f1e1bf4aefb4

    http://blog.csdn.net/dcw050505/article/details/52916047

    展开全文
  • 【JAVA】URL转二维码以及图片合成

    千次阅读 热门讨论 2017-03-28 15:00:06
    最近项目中有一个需求,要将一个URL链接二维码,并合成到一个固定的背景图片上的指定位置。其实将二维码合成到图片上还是将图片合成到二维码上,都是同一个道理。 需要采用google提供的core-3.1.0.jar包来将...

     

    最近项目中有一个需求,要将一个URL链接转成二维码,并合成到一个固定的背景图片上的指定位置。其实将二维码合成到图片上还是将图片合成到二维码上,都是同一个道理。

    需要采用google提供的 jar 包来将URL转化成二维码图片。

    Maven项目直接引用以下依赖:

    <dependency>
    	<groupId>com.google.zxing</groupId>
    	<artifactId>core</artifactId>
    	<version>3.4.1</version>
    </dependency>

    以下工具方法复制即可使用。

    将URL转化成二维码图片:

        /**
    	 * 二维码图片的生成
    	 * @param content			链接
    	 * @param qrcode_width		二维码宽
    	 * @param qrcode_height		二维码高
    	 * @return
    	 * @throws Exception
    	 */
        public static BufferedImage createImage(String content, int qrcode_width, int qrcode_height) throws Exception {
            Hashtable<EncodeHintType, Object> hints = new Hashtable<EncodeHintType, Object>();
            hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
            hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
            hints.put(EncodeHintType.MARGIN, 1);
            BitMatrix bitMatrix = new MultiFormatWriter().encode(content,
                    BarcodeFormat.QR_CODE, qrcode_width, qrcode_height, hints);
            int width = bitMatrix.getWidth();
            int height = bitMatrix.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, bitMatrix.get(x, y) ? 0xFF000000
                            : 0xFFFFFFFF);
                }
            }
            return image;
        }

    将链接二维码放入背景图指定位置:

        /**
    	 * 合成图片,将链接转为二维码并放入背景图指定位置
    	 * @param url		二维码链接
    	 * @param path		背景图片地址
    	 * @param startX	二维码在背景图片的X轴位置
    	 * @param startY	二维码在背景图片的Y轴位置
    	 * @param codeWidth	二维码宽度
    	 * @param codeHeight 二维码高度
    	 * @return			合成的图片
    	 */
    	public static BufferedImage compositeImage(String url, String path, int startX, int startY, int codeWidth, int codeHeight) {
    		try {
    			BufferedImage headImage = createImage(url, codeWidth, codeHeight);
    			
    			FileInputStream fileInputStream = new FileInputStream(path);
    			String backBIS64 = ImageUtil.GetImageStr(fileInputStream);
    			// 读取背景图片
    			InputStream in = new ByteArrayInputStream(ImageUtil.GenerateImage(backBIS64));
    			Image backImage = ImageIO.read(in);
    			int alphaType = BufferedImage.TYPE_INT_RGB;
    			if (hasAlpha(backImage)) {
    				alphaType = BufferedImage.TYPE_INT_ARGB;
    			}
    			BufferedImage back = new BufferedImage(backImage.getWidth(null), backImage.getHeight(null), alphaType);
    
    			// 画图
    			Graphics2D g = back.createGraphics();
    			g.drawImage(backImage, 0, 0, null);
    			g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, 1));
    			g.drawImage(headImage, startX, backImage.getHeight(null) - startY, headImage.getWidth(null), headImage.getHeight(null), null);
    
    			g.dispose();
    
    			return back;
    
    		} catch (Exception e) {
    			e.printStackTrace();
    			return null;
    		}
    	}
    
    
    	/**
    	 * 是否开启alpha通道
    	 * 
    	 * @param image
    	 * @return
    	 */
    	public static boolean hasAlpha(Image image) {
    		if (image instanceof BufferedImage) {
    			BufferedImage bimage = (BufferedImage) image;
    			return bimage.getColorModel().hasAlpha();
    		}
    		PixelGrabber pg = new PixelGrabber(image, 0, 0, 1, 1, false);
    		try {
    			pg.grabPixels();
    		} catch (InterruptedException e) {
    		}
    		ColorModel cm = pg.getColorModel();
    		return cm.hasAlpha();
    	}

    将Logo图片合成到链接二维码正中:

        /**
    	 * 	合成图片,将LOGO放入链接二维码正中间
    	 * @param url			连接地址
    	 * @param path			LOGO存储路径
    	 * @param codeWidth		二维码宽度
    	 * @param codeHeight	二维码高度
    	 * @param logoPer	LOGO占二维码图片的百分比
    	 * @return
    	 */
    	public static BufferedImage compositeLogoImage(String url, String logoPath, int codeWidth, int codeHeight, int logoWidth, int logoHeight) {
    		try {
    			//	创建链接二维码
    			BufferedImage urlImage = createImage(url, codeWidth, codeHeight);
    			
    			//	读取LOGO
    			FileInputStream fileInputStream = new FileInputStream(logoPath);
    			Image logoImage = ImageIO.read(fileInputStream);
    			
    			//	加载背景图片
    			int alphaType = BufferedImage.TYPE_INT_RGB;
    			if (ImageUtil.hasAlpha(urlImage)) {
    				alphaType = BufferedImage.TYPE_INT_ARGB;
    			}
    			BufferedImage back = new BufferedImage(urlImage.getWidth(), urlImage.getHeight(), alphaType);
     
    			//	画图
    			Graphics2D g = back.createGraphics();
    			g.drawImage(urlImage, 0, 0, null);
    			g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, 1));
    			g.drawImage(logoImage, getLogoPosition(urlImage.getWidth(), logoWidth), getLogoPosition(urlImage.getHeight(), logoHeight), 
    					logoWidth, logoHeight, null);
    			g.dispose();
     
    			return back;
     
    		} catch (Exception e) {
    			e.printStackTrace();
    			return null;
    		}
    	}
    	
    	private static int getLogoPosition(int backWidth, double logoWidth) {
    		Double d = (backWidth - logoWidth)/2;
    		return d.intValue();
    	}

     

    附:BufferedImage 的使用

    //通过ImageIO提供的方法可以操作BufferedImage类的写入写出
    ImageIO.write(BufferedImage bufferImage, String formatName, OutputStream output);
    BufferedImage bufferImage = ImageIO.read(InputStream input);
    
    
    //输出到前端
    ImageIO.write(bufferImage, "png", response.getOutputStream());

     

     

     

     

    展开全文
  • java代码将链接转换为二维码

    千次阅读 2018-07-04 10:37:41
    本文是短链接生成二维码图片保存到本地的一个实例demo 核心包是 core-3.1.0.jar 自己下载吧 package cn.itcast.action; /** * Created by YYBJ on 2018/7/4. * ZCL */ import java.awt.image.BufferedImage...

    本文是短链接生成二维码图片保存到本地的一个实例demo

    核心包是

    core-3.1.0.jar  自己下载吧

    package cn.itcast.action;
    
    /**
     * Created by YYBJ on 2018/7/4.
     * ZCL
     */
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.HashMap;
    import java.util.Map;
    
    import javax.imageio.ImageIO;
    import javax.swing.filechooser.FileSystemView;
    
    import com.google.zxing.BarcodeFormat;
    import com.google.zxing.EncodeHintType;
    import com.google.zxing.MultiFormatWriter;
    import com.google.zxing.common.BitMatrix;
    
    public class QrCodeUtil {
    
        public static void main(String[] args) {
            String url = "http://t.cn/RdZMeZJ111111";
            String path = FileSystemView.getFileSystemView().getHomeDirectory() + File.separator + "testQrcode";
            System.out.println(path);
            String fileName = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".jpg";
            createQrCode(url, path, fileName);
        }
    
        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;
        }
    
        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 static final int BLACK = 0xFF000000;
        private static final int WHITE = 0xFFFFFFFF;
    
        private 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) ? BLACK : WHITE);
                }
            }
            return image;
        }
    
    }

    转载请标明转载来源:

    https://blog.csdn.net/weixin_41092717/article/details/80908649

    展开全文
  • 带你玩转二维码

    2016-10-24 15:17:55
    代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的...
  • 转换二维码的两种方式

    千次阅读 2018-06-07 14:22:22
    之前写了一篇生成微信公众号带参数二维码的文章,今天闲来无事,就通过代码实现了生成的过程,因为请求微信接口返回的参数如下:{"ticket":"gQH47joAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL2taZ2...
  • 1.生成二维码 ...1.1代码 如果没有Zxing库,可以到我的云盘下载。 把jar包下载,copy到工程的libs目录下,buildpath即可 1.1.1 获取编码后的数据Bitmatrix BitMatrix是Zxing库定义的一个二维码的数
  • 1.场景 将URL动态生成二维码前端展示(微信支付等,)--》 静态文件路径访问 返回URL_name,(a标签,src 静态路由访问) 流传输,前端渲染 ...实际代码 使用python_web 框架--》tornado manag...
  • 1.android 有自带的jar包可以生成二维码core...写一个二维码生成的工具类,网上搜的话应该一大堆。package com.example.administrator.twocodedemo; import android.content.Context; import android.graphics.Bitmap;
  • js将二维码字符串转换为二维码图片 首先下载qrcode.js插件,地址为: ...提取码: csmf 下面代码为:二维码展示div //二维码展示 js function showEWM(data){ var qrcode = new QRCode(...
  • 1.场景将URL动态生成二维码前端展示(微信支付等,)--》静态文件路径访问返回URL_name,(a标签,src ...url,前端js将code_url生成二维码,并渲染实际代码使用python_web 框架--》tornadomanager.pyimport osimport a...
  • 具体代码参考在github里面,这是本人简单编写的一个谷歌浏览器地址转换成二维码的插件,里面的代码思路本文暂时不做解析,只是介绍如何使用这个插件。 1.将插件下载到本地。 2.打开谷歌浏览器,点击‘拓展程序’:...
  • 目录Java+Swing+ZXing实现文字、图片、链接转二维码工具功能介绍工具测试情况代码实现写在最后 功能介绍 我个人平时也会用到文字、图片、地址等转二维码的情况,但是每次都要找线上网站转,比较麻烦,所以就开发一个...
  • 字面意思是设置二维码版本号,实质是设置二维码的信息容量,值越大,存储的信息越多;若超出可承载的信息容量,则抛出 ArrayIndexOutOfBoundsException 2.填充黑点时要加偏移量,否则解析二维码时会抛出  ...
  • Delphi+Halcon实战一:两行代码识别QR二维码 感谢网友:绝代双椒( QQ号应原作者要求隐藏了:xxxx6348)的支持 本文是绝代双椒的作品,因为最近在忙zw量化培训,和ziwang.com网站的升级,halcon没时间操作。 不过...
  • 原问题链接:https://www.zhihu.com/question/49258470/answer/115082640众所周知,WINDOWS的控制台只能输出字符,所以问题实际上就转变为把二维码转成字符。还记得网上各种大神都写过的字符画代码么?其实就是类似...
  • 至:一片枫叶的专栏前言本文将讲解一下我最近写的一个快速集成二维码扫描库,这里需要说明的是其核心的实现扫描的功能,是通过调用ZXing库实现的。内部App中使用到了二维码扫描功能,但是网上找了一些关于二维码...
  • 二维码,是一种采用黑白相间的平面几何图形通过相应的编码算法来记录文字、图片、网址等信息的条码图片。如下图 二维码的特点: 1. 高密度编码,信息容量大 可容纳多达1850个大写字母或2710个数字或1108个字节...
  • 二维码Java 代码

    2013-09-10 22:27:11
    自 http://blog.csdn.net/about58238/article/details/7494704 二维码,是一种采用黑白相间的平面几何图形通过相应的编码算法来记录文字、图片、网址等信息的条码图片。如下图 二维码的特点: ...
  • 具体代码参考在github里面,这是本人简单编写的一个谷歌浏览器地址转换成二维码的插件,里面的代码思路本文暂时不做解析,只是介绍如何使用这个插件。 1.将插件下载到本地。 2.打开谷歌浏览器,点击‘拓展程序’: ...
  • 先在 pycharm 安装 myqr。或者,Python3 必装,然后命令行pip install myqr 也可。...生成二维码效果: 准备一张图片:lovelove.git 用GIF生成一个动态二维码 myqr http://weixin.qq.com/r/hRMQCB7EL0
  • QRcode 二维码 解析源代码

    热门讨论 2011-11-22 18:14:58
    为了让我一样穷的同志下载到,我了http://download.csdn.net/download/huangbaoyu/3827730重新压缩体积更小,方便下载 ...QRcode 二维码 解析源代码C# 可生成二维码图片,可解析二维码图片,附件为样例程序
  • 复制代码 代码如下: <?php /**  * 微信公众平台PHP-SDK  * Wechatauth为非官方微信登陆API  * 用户通过扫描网页提供的二维码实现登陆信息获取  * 主要实现如下功能:  * get_login_code() 获取登陆授权...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 801
精华内容 320
关键字:

代码转二维码