精华内容
下载资源
问答
  • 并且软件还支持对二维码色调的选择、生成带中间层叠图标的二维码、生成超高纠错能力的二维码以及将二维码导出为矢量图形文件,方便后期制作等等,所有能够帮助您创建丰富有趣的二维码的功能,我们一应俱全!...
  • 实现原理: 利用微信小程序canvas API把文字和图片进行合成,用wx.canvasToTempFilePath()返回图片地址再保存至相册。
  • 客户商品管理系统,每个商品需要生成一个二维码以便手机直接扫描查看商品信息,而对应的,二维码下方必须有一串唯一码,它们存在于一张图片上,以方便用户另存打印贴纸(不相干细节省略)。 分析 将链接生成二维码不...
        

    需求

    客户商品管理系统,每个商品需要生成一个二维码以便手机直接扫描查看商品信息,而对应的,二维码下方必须有一串唯一码,它们存在于一张图片上,以方便用户另存打印贴纸(不相干细节省略)。

    分析

    将链接生成二维码不难,直接qrcode即可解决。

    剩下的对应唯一码,例如:WY998823, 按特定算法生成码后,需要与二维码图片重新合成为一张图片,PHP中的图片处理,不用说,首当其冲GD库。

    过程

    由于代码涉及较多,就不直接贴出来了。此处简述用到的方法及流程,供大家参考。

    1. 打开图片

      将 Qrcode 生成的二维码图片按照 路径 打开,获取相关信息。
      
      宽度类型等信息可以用 getimagesize() 获取
      
      打开图片:$image = imagecreatefrompng($file);
      
      如果事先不知道原图片格式的话,可以采用下面方法:
      
      $info = getimagesize($file); // 获取图片信息
      $type = image_type_to_extension($info[2],false); // 获取图片扩展名
      $fun  = "imagecreatefrom{$type}"; // 构建处理图片方法名-关键是这里
      $image = $fun($file); // 调用方法处理
      
    2. 处理图片

      将字体文件准备好,设置好字体的颜色,然后创建文字:
      
      $font = ROOT_PATH.'public/static/fonts/msyh.ttf'; // 字体文件
      $color = imagecolorallocate($image,0,0,0); // 文字颜色
      imagettftext($image, 20, 0, 80, 292, $color, $font, $code); // 创建文字
      
      这里我直接写在了二维码图片的下边框空白处
      
    3. 输出图片

      到这里对于原图片的处理基本就结束了。
      
      使用 header() 和 imagepng() 方法输出最终图片:
      
      header("Content-Type:image/png"); 
      imagepng($image);
      
      如果图片格式不确定,参照上面第一步中给出的例子处理,这里我没有保存到本地。
      
    4. 销毁图片

      销毁生成的图片资源和Qrcode生成的图片文件。
      
      header('Content-Type:image/png');
      imagepng($image);
      imagedestroy($image);if (is_file($file)) unlink($file);
      
      

    效果

    生成后效果如图(信息考虑,二维码图像已打码)

    clipboard.png

    总结

    图像能否处理和处理得好,就看如何使用GD库了。

    展开全文
  • Python 二维码制作先介绍python 二维码制作的第三方库QRCode 、MyQRQRCode 生成这个二维码只用三行importqrcodeimg= qrcode.make('hello qrcode !')img.save('test.png')安装导入QRCodepip install qrcodeQRCode ...

    Python 二维码制作

    先介绍python 二维码制作的第三方库

    QRCode 、MyQR

    QRCode 生成这个二维码只用三行

    importqrcode

    img= qrcode.make('hello qrcode !')

    img.save('test.png')

    安装导入QRCode

    pip install qrcode

    QRCode 多种自定义方法

    mport qrcode

    text= input("输入文字或URL:") #设置URL必须添加http://

    img =qrcode.make(text)

    img.save()#保存图片至本地目录,可以设定路径

    img.show()

    生成添加logo的二维码

    defgetQRcode(strs, name):

    qr=qrcode.QRCode(

    version=1,

    error_correction=qrcode.constants.ERROR_CORRECT_L,

    box_size=10,

    border=2,

    )#添加数据

    qr.add_data(strs)#填充数据

    qr.make(fit=True)#生成图片

    img = qr.make_image(fill_color="blue", back_color="white")

    img= img.convert("RGBA") #RGBA

    #添加logo

    icon = Image.open("321.png")#获取图片的宽高

    img_w, img_h =img.size

    factor= 6size_w= int(img_w /factor)

    size_h= int(img_h /factor)

    icon_w, icon_h=icon.sizeif icon_w >size_w:

    icon_w=size_wif icon_h >size_h:

    icon_h=size_h#重新设置logo的尺寸

    icon =icon.resize((icon_w, icon_h), Image.ANTIALIAS)print(icon)

    w= int((img_w - icon_w) / 2)

    h= int((img_h - icon_h) / 2)

    img.paste(icon, (w, h), icon)#显示图片

    plt.imshow(img)

    plt.show()

    img.save(name)returnimgif __name__ == '__main__':

    getQRcode("https://music.163.com/song?id=36990266&userid=112961323", '01.png')

    执行代码 程序报错

    Traceback (most recent call last):

    File"/Users/yyj/HelloBike/Bi_Test/demo/py_qrcode.py", line 96, in getQRcode("https://music.163.com/song?id=36990266&userid=112961323", '01.png')

    File"/Users/yyj/HelloBike/Bi_Test/demo/py_qrcode.py", line 80, ingetQRcode

    img.paste(icon, (w, h), icon)

    File"/Users/yyj/anaconda3/envs/Adil/lib/python3.7/site-packages/PIL/Image.py", line 1470, inpaste

    self.im.paste(im, box, mask.im)

    ValueError: bad transparency mask

    问题分析:

    #添加logo

    icon = Image.open("321.png")

    因为我使用的图片格式 第一次使用了 jpg 后来我自己修改后缀为321.png导致,使用真正的png 图即可。

    原图如右

    1213900-20190619200455930-228897870.png

    结果如右

    1213900-20190619200544498-836310195.png

    MyQR 生成动态二维码

    defgakki_code():

    version, level, qr_name=myqr.run(

    words="http://labfile.oss.aliyuncs.com/courses/1126/Sources.zip", #可以是字符串,也可以是网址(前面要加http(s)://)

    version=1, #设置容错率为最高

    level='H', #控制纠错水平,范围是L、M、Q、H,从左到右依次升高

    picture="gakki.gif", #将二维码和图片合成

    colorized=True, #彩色二维码

    contrast=1.0, #用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0

    brightness=1.0, #用来调节图片的亮度,其余用法和取值同上

    save_name="gakki_code.gif", #保存文件的名字,格式可以是jpg,png,bmp,gif

    save_dir=os.getcwd() #控制位置

    )

    下面我们来详细的讲解一下 myqr.run() 函数里面的参数

    1213900-20190619172046407-1921963962.png

    展开全文
  • QR二维码 破解软件 可制作QR二维码,可将网址、文字、书签等转换成QR二维码,也可破译出QR二维码中的内容,方便实用
  • 二维码制作

    2020-02-15 18:28:28
    因为项目需要,我封装了三个不同的二维码构建,一个是制作普通的二维码,一个是带logo的,还有一个是带logo和文字的,不废话,直接上代码。 因为项目需要,我封装了三个不同的二维码构建,一个是制作普通的二维码...

    因为项目需要,我封装了三个不同的二维码构建,一个是制作普通的二维码,一个是带logo的,还有一个是带logo和文字的,不废话,直接上代码。

    因为项目需要,我封装了三个不同的二维码构建,一个是制作普通的二维码,一个是带logo的,还有一个是带logo和文字的,不废话,直接上代码。
    <dependency>
        <groupId>com.google.zxing</groupId>
        <artifactId>core</artifactId>
        <version>3.3.3</version>
    </dependency>

    代码

    package com.pibgstar.demo.utils;
    
    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;
    
    import javax.imageio.ImageIO;
    import java.awt.*;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * @author pibigstar
     * @create 2018-11-29 10:17
     * @desc 二维码生成工具类
     **/
    public class ZXingCodeUtil {
        // 二维码颜色
        private static final int QRCOLOR = 0xFF000000;
        // 背景色
        private static final int BGCOLOR = 0xFFFFFFFF;
        // 二维码宽度
        private static final int width = 400;
        // 二维码高度
        private static final int height = 400;
    
        /**
         * @Author:pibigstar
         * @Description: 生成普通的二维码
         * @Date:
         */
        public static BufferedImage createCode(String qrUrl) {
            MultiFormatWriter multiFormatWriter = null;
            BitMatrix bm = null;
            BufferedImage image = null;
            Map<EncodeHintType, Object> hints = getDecodeHintType();
            try {
                multiFormatWriter = new MultiFormatWriter();
                // 参数顺序分别为:编码内容,编码类型,生成图片宽度,生成图片高度,设置参数
                bm = multiFormatWriter.encode(qrUrl, BarcodeFormat.QR_CODE, width, height, hints);
                int w = bm.getWidth();
                int h = bm.getHeight();
                image = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
    
                // 开始利用二维码数据创建Bitmap图片,分别设为黑(0xFFFFFFFF)白(0xFF000000)两色
                for (int x = 0; x < w; x++) {
                    for (int y = 0; y < h; y++) {
                        image.setRGB(x, y, bm.get(x, y) ? QRCOLOR : BGCOLOR);
                    }
                }
            } catch (WriterException e) {
                e.printStackTrace();
            }
            return image;
        }
    
        /**
         * @Author:pibigstar
         * @Description: 生成带logo的二维码
         * @Date:
         */
        public static BufferedImage createCodeWithLogo(String qrUrl, String logoPath) {
            BufferedImage bim = createCode(qrUrl);
            try {
                // 读取二维码图片,并构建绘图对象
                BufferedImage image = bim;
                Graphics2D g = image.createGraphics();
    
                // 读取Logo图片
                BufferedImage logo = ImageIO.read(new File(logoPath));
                //设置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() - heightLogo);
    
                //开始绘制图片
                g.drawImage(logo, x, y, widthLogo, heightLogo, null);
                g.dispose();
                logo.flush();
                image.flush();
                return image;
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
    
        /**
         * @Author:pibigstar
         * @Description: 生成带logo和文字的二维码
         * @Date:
         */
        public static BufferedImage createCodeWithLogoAndText(String qrUrl, String logoPath, String text) {
            BufferedImage image = createCodeWithLogo(qrUrl, logoPath);
            //把文字添加上去,文字不要太长,这里最多支持两行。太长就会自动截取啦
            try {
                if (text != null && !text.equals("")) {
                    //新的图片,把带logo的二维码下面加上文字
                    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(text);
                    if (strWidth > 399) {
    //                  //长度过长就截取前面部分
    //                  outg.drawString(productName, 0, image.getHeight() + (outImage.getHeight() - image.getHeight())/2 + 5 ); //画文字
                        //长度过长就换行
                        String productName1 = text.substring(0, text.length() / 2);
                        String productName2 = text.substring(text.length() / 2, text.length());
                        int strWidth1 = outg.getFontMetrics().stringWidth(productName1);
                        int strWidth2 = outg.getFontMetrics().stringWidth(productName2);
                        outg.drawString(productName1, 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(productName2, 200 - strWidth2 / 2, outImage.getHeight() + (outImage2.getHeight() - outImage.getHeight()) / 2 + 5);
                        outg2.dispose();
                        outImage2.flush();
                        outImage = outImage2;
                    } else {
                        outg.drawString(text, 200 - strWidth / 2, image.getHeight() + (outImage.getHeight() - image.getHeight()) / 2 + 12); //画文字
                    }
                    outg.dispose();
                    outImage.flush();
                    image = outImage;
                    image.flush();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return image;
        }
    
        /**
         * @Author:pibigstar
         * @Description: 构建二维码
         * @Date:
         */
        private static BufferedImage create(String qrUrl, String logoPath, String text) {
            MultiFormatWriter multiFormatWriter = null;
            BitMatrix bm = null;
            BufferedImage image = null;
            Map<EncodeHintType, Object> hints = getDecodeHintType();
            try {
                multiFormatWriter = new MultiFormatWriter();
                // 参数顺序分别为:编码内容,编码类型,生成图片宽度,生成图片高度,设置参数
                bm = multiFormatWriter.encode(qrUrl, BarcodeFormat.QR_CODE, width, height, hints);
                int w = bm.getWidth();
                int h = bm.getHeight();
                image = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
    
                // 开始利用二维码数据创建Bitmap图片,分别设为黑(0xFFFFFFFF)白(0xFF000000)两色
                for (int x = 0; x < w; x++) {
                    for (int y = 0; y < h; y++) {
                        image.setRGB(x, y, bm.get(x, y) ? QRCOLOR : BGCOLOR);
                    }
                }
            } catch (WriterException e) {
                e.printStackTrace();
            }
            return image;
        }
    
        /**
         * 设置二维码的格式参数
         * @return
         */
        private static Map<EncodeHintType, Object> getDecodeHintType() {
            // 用于设置QR二维码参数
            Map<EncodeHintType, Object> hints = new HashMap<EncodeHintType, Object>();
            // 设置QR二维码的纠错级别(H为最高级别)具体级别信息
            hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
            // 设置编码方式
            hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
            hints.put(EncodeHintType.MARGIN, 0);
            hints.put(EncodeHintType.MAX_SIZE, 350);
            hints.put(EncodeHintType.MIN_SIZE, 100);
            return hints;
        }
    }
    

    测测

    public class TestZxingCodeUtil {
    
        public static void main(String[] args) throws IOException {
            BufferedImage bim = ZXingCodeUtil.createCode("http://www.pibigstar.com");
            ImageIO.write(bim, "png", new File("D:\\Document And Settings3\\Admin\\Desktop\\" + new Date().getTime() + ".png"));
    
            bim = ZXingCodeUtil.createCodeWithLogo("http://www.pibigstar.com","D:\\Document And Settings3\\Admin\\Desktop\\文本资料\\网站\\qq.png");
            ImageIO.write(bim, "png", new File("D:\\Document And Settings3\\Admin\\Desktop\\" + new Date().getTime() + ".png"));
    
            bim = ZXingCodeUtil.createCodeWithLogoAndText("http://www.pibigstar.com","D:\\Document And Settings3\\Admin\\Desktop\\文本资料\\网站\\qq.png","派大星博客");
            ImageIO.write(bim, "png", new File("D:\\Document And Settings3\\Admin\\Desktop\\" + new Date().getTime() + ".png"));
    
            System.out.println("done");
    }
    

     

    展开全文
  • 动态二维码免费制作

    千次阅读 2019-04-14 16:30:01
    python3制作二维码 很多网站都可以自定义制作很漂亮的二维码,提供了各种素材,但是输出文件又各种限制,非要买她的会员不可。好吧!那我们就自己做一个。(大牛的开源项目) 最终效果 开源项目网站 git clone ...

    python3制作二维码

    很多网站都可以自定义制作很漂亮的二维码,提供了各种素材,但是输出文件又各种限制,非要买她的会员不可。好吧!那我们就自己做一个。(大牛的开源项目)

    最终效果

    在这里插入图片描述

    开源项目网站

    git clone https://github.com/sylnsfar/qrcode.git

    制作过程

    sudo pip3 install MyQR
    python3
    >>> from MyQR import myqr
    >>> myqr.run( words='pay.png',picture='gakki.gif',save_name='Animated.gif',colorized=True,)
    
    • pay.png 是你要展示的文字,通过网站你可以把指定二维码转换成链接,然后生成
    • gakki.gif 是动图
    • Animata.gif 是输出文件名字
    • True 是彩色输出

    这样就成功啦!!!

    展开全文
  • Python 二维码制作

    2019-06-19 17:21:00
    Python 二维码制作 先介绍python 二维码制作的第三方库 QRCode 、MyQR QRCode 生成这个二维码只用三行 import qrcode img = qrcode.make('hello qrcode !') img.save('test.png') 安装导入QRCode ...
  • 这篇文章讲的是如何利用python制作狂拽酷炫吊炸天的二维码,非常有趣哦!可能你见过的二维码大多长这样:普普通通,平平凡凡,没什么特色。。。但,如果二维码长这样呢!或者 这样!是不是炒鸡好看!这篇文章 就是 ...
  • 制作App下载的二维码 苹果手机扫描跳到AppStore下载页面 安卓手机扫描跳到相应的应用市场(比如应用宝)下载页面   0 打开网址http://cli.im/url 1 选择“添加多个网址”,弹出登录界面。没注册过的要先注册...
  • 二维码的原理和制作

    2020-07-25 20:58:22
    什么是二维码 1、二维码又称QR Code,QR全称Quick Response,...在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图像输入设备
  • 在线二维码制作源码下载,二维码是直接对电话、地址、网址等信息进行编码(一般最多50个文字), 所以无需联网也能扫描显示。 演示地址:http://www.2222.wang/ewm 本程序仅供学习之用,QQ群:7858581
  • 表白二维码制作

    2020-05-17 17:01:42
    520就要来了。 第一步,找到二维码生成工具。 ​ 第二步,选择你要生成的二维码...文字等都可以高度自定义。 微信搜索小程序【瓜图】或者关注微信公众号【实用生活小工具】,点击菜单即可以体验。或者扫描二维码 ...
  • 动态二维码制作

    2020-04-09 18:23:00
    相信很多人都看过五花八门的二维码,但是很多都是静态的。最近小编浏览某技术网站,居然看到了一个动图二维码,很新奇。于是乎,搜了搜二维码在线渲染网站,也想找到生成这种二维码的工具,但是最终没如愿。 然后就...
  • python 二维码制作

    2019-10-25 15:09:41
    二维码简介 ** 我们日常使用是扫一个二维码就跳转到某个页面。但本质而言,扫二维码就是得到内容,而不会跳转什么页 面。 比如微信等扫二维码就是得到“https://www.baidu.com” (https://www.baidu.com”) 至于自动...
  • 彩色二维码生成器_彩色二维码制作工具 内容支持中文,使用utf-8编码,一般扫描二维码软件可以识别。 最上方显示文字log,字数可以调节。 正中间的圆圈内显示中心文字。 注意,无法运行的话请确认是否安装.net环境...
  • 于是,我就打算用这个库来实现简单的制作一个二维码关注图,主要是完成以下几个工作:制作一个白色的背景图;将背景图和公众号二维码图合成;添加文字得到最终的合成图简介Wand 是基于 ctypes 库的适用于 Python 的 ...
  • 用Python制作二维码

    万次阅读 多人点赞 2020-01-14 17:48:02
    5.静态二维码---添加图片做成艺术二维码: from MyQR import myqr ver,level,qr_name = myqr.run(words="https://blog.csdn.net/qq_36853469/article/details/103973519",picture="pkq.jpg",colorized=True) ''...
  • 可以设置一段文字、一个电话、一个网址等等在线生成二维码的工具,可以通过这个源码在线生成各种各样的二维码。包括但不限于:网址二维码、地理位置二维码、邮箱二维码、文本信息二维码、电话短信二维码、wifi自动...
  • Java二维码制作

    2017-10-15 10:02:00
    二维码现在已经到处都是了,下面是二维码的介绍 :二维码 ,又称二维条码, 二维条形码最早发明于日本,它是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的,在代码...
  • 想要将图片做成二维码? 其实很简单。...那么如何制作图片二维码呢? 二维彩虹二维码生成器将图片生成二维码有两种方法 第一种:“文件”功能 1、注册登录二维彩虹二维码生成器 2、选择“文件”选
  • } public static void main(String[] args) { try { generateQRCodeImage("扫描二维码后展示的文字,目前只支持英文(英语不好的可以借助翻译软件)", 300, 300, QR_CODE_IMAGE_PATH); } catch ...
  • 在逛 Github 的时候,发现了一个好玩的二维码制作的库:https://github.com/sylnsfar/qrcode 。这个库的 star 已经超过 7k 了,而且附带了中文文档,各位感兴趣的同学可以访问前面那个链接为作者点亮一个 star 。这...
  • 可以使用文字、通讯录、应用软件、书签,制作、共享、保存二维码 典型用途: 名片交换:用这软件生成某联系人的二维码显示在屏幕(或者发送邮件、彩信),让对方扫描即可添加到通讯录; 文字、网址交换; 根据条码...
  • 正常生成的二维码都是不带图标的,但是很多时候我们都需要在二维码中间添加上我们自己的图标,这个时候我们就可以使用灵猫二维码来进行操作了! 使用教程: 1、打开灵猫二维码:http://lmewm.maiyurl.cn。 2、...
  • 使用Python制作酷炫二维码

    千次阅读 2020-01-30 22:51:54
    myqr可以根据网址制作对应的二维码二维码有三种形式可供选择: 普通二维码 艺术二维码 动态二维码 1 安装myqr 在安装之前,你需要保证电脑里已经安装python 3.x,这是基本环境。 安装myqr和...
  • 二维码制作Java篇

    2021-05-21 08:22:10
    四,将二维码显示成图片 五,存入指定盘符下 六,结果的展示 一,将jar包放入IDEA的library() jar包:名叫:core-3.4.0.jar 由于暂时不会导入jar包到Markdown文件所以后续补上操作流程 二,需要用的类和方法 ...
  • Java实现简单二维码制作

    千次阅读 2016-08-01 23:21:53
    二维码概述  我们生活中使用到二维码的场景:  二维码概念  二维条码/二维码(2-... 在代码编制上巧妙地利用构成计算机内部逻辑基础的"0"、"1"比特流的概念,使用若干个与二进制相对应的几何形体来表示文字
  • 二维码内容扫描出来能换行显示已经成为一个常见的需求。能否换行跟扫描用的设备,如扫描枪、手机等无关,是二维码换行符决定的,是二维码内容的一部分。那么换行符该如何设置在二维码内呢? 换行符输入时控制符的一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,284
精华内容 2,513
关键字:

二维码加文字制作