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


Posted in Python onJune 24, 2019

最近有个需求:批量生成带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中的filter和lambda函数的使用
Apr 07 Python
Python使用metaclass实现Singleton模式的方法
May 05 Python
Python 2.x如何设置命令执行的超时时间实例
Oct 19 Python
解决phantomjs截图失败,phantom.exit位置的问题
May 17 Python
Python3.4 tkinter,PIL图片转换
Jun 21 Python
实例讲解Python中整数的最大值输出
Mar 17 Python
对PyQt5基本窗口控件 QMainWindow的使用详解
Jun 19 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
Aug 09 Python
Python从文件中读取指定的行以及在文件指定位置写入
Sep 06 Python
django 模型中的计算字段实例
May 19 Python
python中的plt.cm.Paired用法说明
May 31 Python
python字典的元素访问实例详解
Jul 21 Python
解决python文件双击运行秒退的问题
Jun 24 #Python
对python中的控制条件、循环和跳出详解
Jun 24 #Python
django框架自定义模板标签(template tag)操作示例
Jun 24 #Python
解决Python内层for循环如何break出外层的循环的问题
Jun 24 #Python
Python 循环终止语句的三种方法小结
Jun 24 #Python
12个Python程序员面试必备问题与答案(小结)
Jun 24 #Python
django框架模板中定义变量(set variable in django template)的方法分析
Jun 24 #Python
You might like
PHP获取数组中某元素的位置及array_keys函数应用
2013/01/29 PHP
利用PHP判断文件是否为图片的方法总结
2017/01/06 PHP
帮助避免错误的Javascript陷阱清单
2009/05/31 Javascript
js的alert弹出框出现乱码解决方案
2013/09/02 Javascript
JS实现简洁、全兼容的拖动层实例
2015/05/13 Javascript
JSON字符串和对象之间的转换详解
2015/05/26 Javascript
Javascript实现跑马灯效果的简单实例
2016/05/31 Javascript
jQueryUI Datepicker组件设置日期高亮
2016/10/13 Javascript
jQuery使用ajax方法解析返回的json数据功能示例
2017/01/10 Javascript
Angular之toDoList的实现代码示例
2017/12/02 Javascript
基于JavaScript canvas绘制贝塞尔曲线
2018/12/25 Javascript
elementUI多选框反选的实现代码
2019/04/03 Javascript
vue.js多页面开发环境搭建过程
2019/04/24 Javascript
Angular封装搜索框组件操作示例
2019/04/25 Javascript
基于Proxy的小程序状态管理实现
2019/06/14 Javascript
JavaScript JSON使用原理及注意事项
2020/07/30 Javascript
[02:02]DOTA2英雄基础教程 斯拉达
2013/12/11 DOTA
Python2.x和3.x下maketrans与translate函数使用上的不同
2015/04/13 Python
Python画图学习入门教程
2016/07/01 Python
wxpython中自定义事件的实现与使用方法分析
2016/07/21 Python
python笔记:mysql、redis操作方法
2017/06/28 Python
Python使用sort和class实现的多级排序功能示例
2018/08/15 Python
Python+OpenCV实现实时眼动追踪的示例代码
2019/11/11 Python
tensorflow之并行读入数据详解
2020/02/05 Python
pytorch 模型的train模式与eval模式实例
2020/02/20 Python
python自定义函数def的应用详解
2020/06/03 Python
介绍一下JNDI的基本概念
2013/07/26 面试题
总经理岗位职责
2013/11/09 职场文书
应聘收银员个人的求职信
2013/11/30 职场文书
水污染治理工程专业求职信
2014/06/14 职场文书
建筑安全责任书范本
2014/07/24 职场文书
公司的门卫岗位职责
2014/09/09 职场文书
个人四风问题对照检查材料
2014/10/01 职场文书
幼儿园教师工作总结2015
2015/04/02 职场文书
vue+springboot实现登录验证码
2021/05/27 Vue.js
草系十大最强宝可梦,纸片人上榜,榜首大家最熟悉
2022/03/18 日漫