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设计】。

相关文章

Pandas之排序函数sort_values()的实现

一、sort_values()函数用途 pandas中的sort_values()函数原理类似于SQL中的order by,可以将数据集依照某个字段中的数据进行排序,该函数即可根据指定列...

python网络编程 使用UDP、TCP协议收发信息详解

UDP UDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。 UDP传输数据时有大小限制,每个被传输的数据报必须限定在64KB...

python 用 xlwings 库 生成图表的操作方法

xlwings是一个获得BSD许可的Python库,可以很容易地从Excel调用Python,反之亦然。 它适用于Windows和Mac上的Microsoft Excel。 在官方文档里...

Linux CentOS7下安装python3 的方法

在CentOS7下,默认安装的就是python2.7,我现在来教大家如何安装python3: 1、首先安装python3.6可能使用的依赖 # yum -y install open...

使用python画个小猪佩奇的示例代码

使用python画个小猪佩奇的示例代码

  基本原理 选好画板大小,设置好画笔颜色、粗细,定位好位置,依次画鼻子、头、耳朵、眼睛、腮、嘴、身体、手脚、尾巴,完事儿。 都知道,Turtle 是 Python 内置的一个...