• python将url转换成二维码


    准备环境
    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 os.path.dirname()
    python os.path.basename()方法
    python mmap对象
    python 读取二进制数据到可变缓冲区中
    sklearn常见分类器的效果比较
    用matplotlib获取雅虎股票数据并作图
    使用 lxml 中的 xpath 高效提取文本与标签属性值
    如何用 Python 爬取需要登录的网站
    python 线程及线程池
    使用Python代码处理Excel
  • 原文地址:https://www.cnblogs.com/meitian/p/5504995.html
Copyright © 2020-2023  润新知