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 相关文章推荐
使用graphics.py实现2048小游戏
Mar 10 Python
解析Python中while true的使用
Oct 13 Python
python安装教程 Pycharm安装详细教程
May 02 Python
利用Python正则表达式过滤敏感词的方法
Jan 21 Python
windows下python虚拟环境virtualenv安装和使用详解
Jul 16 Python
django中上传图片分页三级联动效果的实现代码
Aug 30 Python
python3 动态模块导入与全局变量使用实例
Dec 22 Python
python+OpenCV实现图像拼接
Mar 05 Python
大数据分析用java还是Python
Jul 06 Python
Python 读取位于包中的数据文件
Aug 07 Python
python实现ROA算子边缘检测算法
Apr 05 Python
Python Pygame实战之塔防游戏的实现
Mar 17 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 和 XML: 使用expat函数(二)
2006/10/09 PHP
php导出word文档与excel电子表格的简单示例代码
2014/03/08 PHP
创建无限极分类树型结构的简单方法
2017/06/20 PHP
PHP随机数函数rand()与mt_rand()的讲解
2019/03/25 PHP
用JavaScript显示随机图像或引用
2009/04/21 Javascript
利用jQuery插件扩展识别浏览器内核与外壳的类型和版本的实现代码
2011/10/22 Javascript
js中confirm实现执行操作前弹出确认框的方法
2014/11/01 Javascript
跟我学习javascript的作用域与作用域链
2015/11/19 Javascript
JS实现根据文件字节数返回文件大小的方法
2016/08/02 Javascript
关于JavaScript中事件绑定的方法总结
2016/10/26 Javascript
微信小程序 省市区选择器实例详解(附源码下载)
2017/01/05 Javascript
基于Bootstrap 3 JQuery及RegExp的表单验证功能
2017/02/16 Javascript
JS获得一个对象的所有属性和方法实例
2017/02/21 Javascript
Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
2017/02/23 Javascript
js获取隐藏元素的宽高
2017/02/24 Javascript
JS中正则表达式全局匹配模式 /g用法详解
2017/04/01 Javascript
Nuxt.js实现一个SSR的前端博客的示例代码
2019/09/06 Javascript
微信小程序 下拉刷新及上拉加载原理解析
2019/11/06 Javascript
在python的WEB框架Flask中使用多个配置文件的解决方法
2014/04/18 Python
Python不规范的日期字符串处理类
2014/06/10 Python
Python简单删除目录下文件以及文件夹的方法
2015/05/27 Python
Python中bisect的用法及示例详解
2020/07/20 Python
CSS3属性background-size使用指南
2014/12/09 HTML / CSS
HTML5实现签到 功能
2018/10/09 HTML / CSS
将SVG图引入到HTML页面的实现
2019/09/20 HTML / CSS
西班牙创意礼品和小工具网上商店:Curiosite
2016/07/26 全球购物
潘多拉珠宝英国官方网上商店:PANDORA英国
2018/06/12 全球购物
27个经典Linux面试题及答案,你知道几个?
2013/01/10 面试题
初婚未育证明
2014/01/15 职场文书
入股协议书范本
2014/11/01 职场文书
教师考核评语大全
2014/12/31 职场文书
美术教师个人总结
2015/02/06 职场文书
校园广播稿范文
2015/08/19 职场文书
表扬稿表扬信的格式及范文
2019/06/24 职场文书
MyBatis 动态SQL全面详解
2021/10/05 MySQL
Redis中有序集合的内部实现方式的详细介绍
2022/03/16 Redis