准备环境
python生成二维码,需要依赖包qrcode和PIL(二维码的实质就是一个url。)
python3安装PIL:pip install PIL
python2安装PIL:pip install pillow
 
生成二维码的方法
1.将url生成二维码的最简单的示例如下:
import qrcode
img=qrcode.make("www.zhuanzhuan.com")
img.save("./test.png")
 
2.可以通过qrcode的一些配置项来更改生成二维码的样式,比如宽度、大小、容错系数
qr=qrcode.QRCode(
    version=2,
    error_correction=qrcode.constants.ERROR_CORRECT_L,
    box_size=8,
    border=2
    )
3.可以将本地的一个图片粘贴到二维码图片上(限制图片大小)
代码如下:
import qrcode
from PIL import Image
 
url="www.zhuanzhuan.com"
qr=qrcode.QRCode(
    version=2,
    error_correction=qrcode.constants.ERROR_CORRECT_L,
    box_size=8,
    border=2
    )
qr.add_data(url)
qr.make(fit=True)
img=qr.make_image()
img=img.convert("RGBA")
icon=Image.open("./logo.png")
img_w,img_h=img.size
factor=4
size_w=int(img_w/factor)
size_h=int(img_h/factor)
 
icon_w,icon_h=icon.size
if icon_w>size_w:
    icon_w=size_w
if icon_h>size_h:
    icon_h=size_h
icon=icon.resize((icon_w,icon_h),Image.ANTIALIAS)
 
w=int((img_w-icon_w)/2)
h=int((img_h-icon_h)/2)
img.paste(icon,(w,h),icon)
 
img.save("./test.png")
 
注意:
1.加上的图片必须是本地图片,用网络图片不可以这么写
2.粘贴的图片必须和二维码生成的格式一致,都是png
 
遇到的问题:
1.二维码增加图片这步,报错: ValueError: bad transparency mask
原因:说是python的PIL合并图片时出错,但是我的两个图片都是png,然后根据网上搜索到的方案转换了一下要粘贴的本地图片,重新转换成png格式,解决了这个问题
 
2.python2+mac和python2+Ubuntu的系统,PIL装不上,使用qrcode去生成二维码时报错:IOError: encoder zip not available
解决方法:
1.先将PIL卸载,然后重新安装pillow
pip uninstall PIL
pip install pillow
有的安装pillow的时候还会报缺东西的问题,有可能是缺下面这些,直接安装一般都解决了
apt-get install libjpeg62 libjpeg62-dev zlib1g-dev libfreetype6 libfreetype6-dev
下面附上一个带图片的二维码:

python将url转换成二维码的更多相关文章

  1. URL转换成二维码

    转载请注明出处:http://www.cnblogs.com/cnwutianhao/p/6685804.html 二维码已经成为我们日常生活中的一个不可获取的产物,火车票上,景区门票,超市付款等等都 ...

  2. python将url转变成二维码图片

    将url数据转变成二维码数据,再将二维码图片转成base64格式返回 import qrcode import io def url_image(self,url): img = qrcode.mak ...

  3. qrcode.js插件将你的内容转换成二维码格式

    ---qrcode.js插件将你的内容转换成二维码格式--- 我之前一直想知道二维码是怎么生成,所以就了解了一下, 最后还是不知道它的原理, 但是,我知道怎么生成. 现在就让我带你制作一个你喜爱的二维 ...

  4. JS框架_(Qrcode.js)将你的内容转换成二维码格式

    百度云盘 传送门 密码:304e 输入网址点击按钮生成二维码,默认为我的博客首页 二维码格式演示 <!DOCTYPE html> <html lang="en"& ...

  5. 把url链接转换成二维码的工具类

    import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.io ...

  6. 将url动态转换成二维码插件 - 兼容IE8

    插件地址  http://static.runoob.com/assets/qrcode/qrcode.min.js ,网页直接打开,然后ctrl+s保存到本地. <!DOCTYPE html& ...

  7. 利用 Python django 框架 输入汉字,数字,字符,等。。转成二维码!

    利用 Python django 框架 输入汉字,数字,字符,等..转成二维码! 模块必备:Python环境 + pillow  + qrcode 模块 核心代码import qrcode qr = ...

  8. chrome插件开发-----------将网址转化成二维码website2QRcode

    微信自带的浏览器无法输入链接,仅仅能通过扫描二维码实现.可是有时候看到一个有趣的站点,想分享,还得先去将链接转化成二维码的站点.先转成二维码.再扫描.有点麻烦.所以写了一个插件.直接生成二维码. 须要 ...

  9. 使用Python的库qrcode生成二维码

    现在有很多二维码的生成工具,在线的,或者安装的软件,都可以进行生成二维码.今天我用Python的qrcode库生成二维码.需要预先安装  Image 库 安装 用pip安装 # pip install ...

随机推荐

  1. MySQL数据引擎InnoDB和MyISAM互相转换

    MySQL(或者社区开源fork的MariaDB)5.5以上支持InnoDB引擎,并将其作为默认数据库引擎.InnoDB带来很多改进,但是对系统资源占用明显增加,对于还在128MB-512MB内存VP ...

  2. tensorflow命令行参数:tf.app.flags.DEFINE_string、tf.app.flags.DEFINE_integer、tf.app.flags.DEFINE_boolean

    tf 中定义了 tf.app.flags.FLAGS ,用于接受从终端传入的命令行参数,相当于对Python中的命令行参数模块optpars(参考:python中处理命令行参数的模块optpars)做 ...

  3. bzoj 2212 Tree Rotations

    bzoj 2212 Tree Rotations 考虑一个子树 \(x\) 的左右儿子分别为 \(ls,rs\) .那么子树 \(x\) 内的逆序对数就是 \(ls\) 内的逆序对数,\(rs\) 内 ...

  4. 新手学Appium_Python_Client

    原文转自http://blog.sina.com.cn/s/blog_68f262210102v538.html 一,Appium_Python_Client的安装 推荐使用pip安装 pip ins ...

  5. 《DSP using MATLAB》Problem 2.10

    代码: %% ------------------------------------------------------------------------ %% Output Info about ...

  6. 关于 unable to load shared object 'C:\Program Files\R\R-3.0.3\library\stats\libs\i386\stats.dll'

    其实这个问题很简单就是,在R目录下的:C:\Program Files\R\R-3.0.3\library\stats\libs\i386这个目录下,拷贝一份:这个目录下的文件:C:\Program ...

  7. OPENQUERY用法以及使用需要注意的地方

    对给定的链接服务器执行指定的传递查询.该服务器是 OLE DB 数据源.OPENQUERY 可以在查询的 FROM 子句中引用,就好象它是一个表名.OPENQUERY 也可以作为 INSERT.UPD ...

  8. Rails Cookie和session使用

    Rails通过cookies方法来操作cookie.这和session的操作有点相似 class CommentsController < ApplicationController def n ...

  9. Animation获得当前播放的第几帧

    http://blog.csdn.net/cocos2der/article/details/8728443 http://www.it165.net/pro/html/201405/13204.ht ...

  10. 说说 PADS Layout 中的第 20 层和 第 25层

    说说 PADS Layout 中的第 20 层和 第 25层 PADA Layout 有一个不成文的说明,第 20 层和第 25 层各有各的用途. 第 20 层是 Placement Outline ...