Python3批量生成带logo的二维码方法

yipeiwu_com6年前Python基础

最近有个需求:批量生成带Logo的二维码

生成二维码比较简单,网上的资源也比较多,不赘述了。自己研究了一下加了logo并且美化了一下(网上的资源直接加Logo特别丑!!!忍不了!!!),直接上代码:

def create_qrcode(url, filename):
  qr = qrcode.QRCode(
    version=1,
    #设置容错率为最高
    error_correction=qrcode.ERROR_CORRECT_H,
    box_size=10,
    border=4,
  )
  qr.add_data(url)
  qr.make(fit=True)
 
  img = qr.make_image()
  #设置二维码为彩色
  img = img.convert("RGBA")
  icon = Image.open('/Users/Jason/Desktop/qrcode/logo.png')
  w, h = img.size
  factor = 4
  size_w = int(w / factor)
  size_h = int(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((w - icon_w) / 2)
  h = int((h - icon_h) / 2)
  icon = icon.convert("RGBA")
  newimg = Image.new("RGBA", (icon_w + 8, icon_h + 8), (255, 255, 255))
  img.paste(newimg, (w-4, h-4), newimg)
 
  img.paste(icon, (w, h), icon)
  img.save('/Users/Jason/Desktop/qrcode/' + filename + '.png', quality=100)

以上这篇Python3批量生成带logo的二维码方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 基于wxpy库实现微信添加好友功能(简洁)

Python 基于wxpy库实现微信添加好友功能(简洁)

Github:https://github.com/Lyo-hub/wxpy_AddFriend 本程序为基于wxpy库实现的。 1.打开cmd导入一下库。 2.修改库文件中ad...

基于OpenCV python3实现证件照换背景的方法

基于OpenCV python3实现证件照换背景的方法

简述 生活中经常要用到各种要求的证件照电子版,红底,蓝底,白底等,大部分情况我们只有其中一种,所以通过技术手段进行合成,用ps处理证件照,由于技术不到位,有瑕疵,所以想用python&o...

Python3实现zip分卷压缩过程解析

Python3实现zip分卷压缩过程解析

使用zipfile库 查看 官方中文文档 利用 Python 压缩 ZIP 文件,我们第一反应是使用 zipfile 库,然而,它的官方文档中却明确标注“此模块目前不能处理分卷 ZIP...

django使用html模板减少代码代码解析

django使用html模板减少代码代码解析

看下面两个页面: 一个显示文章列表,一个显示文章详细信息,其中的部分内容相同,有可以重用的部分。 所有就此例可以设置三个html文件:重用部分,目录部分,文章部分。 重用部分: ba...

Python中关于字符串对象的一些基础知识

Python的字符串被划分为不可变序列的类别,意味着这些字符串所包含的字符存在从左至右的位置顺序,并且它们不可以在本地进行修改。 基本操作 字符串可以通过+操作符进行合并,可以使用*运算...