涛哥的Python脚本工具箱之生成带Logo的二维码
来源:互联网 发布:ovid数据库检索举例 编辑:程序博客网 时间:2024/06/09 17:17
最近需要在二维码上加Logo,网上没有找到好用的,于是自己用python写了一个。需要安装qrcode,PIL库
二维码简称 QR Code(Quick Response Code),学名为快速响应矩阵码,是二维条码的一种,由日本的 Denso Wave 公司于 1994 年发明。现随着智能手机的普及,已广泛应用于平常生活中,例如商品信息查询、社交好友互动、网络地址访问等等。
安装 Python 的二维码库 -- qrcode
pip install qrcode
由于生成 qrcode 图片需要依赖 Python 的图像库,所以需要先安装 Python 图像库 PIL(Python Imaging Library),不然会遇到 "ImportError: No module named Image" 的错误。
代码如下:
#!/usr/bin/python# -*- encoding: UTF-8 -*-# test created on 14-10-28 下午12:48# Copyright 2014 offbye@gmail.com"""生成带logo的二维码"""__author__ = ['"Xitao":<offbye@gmail.com>']import qrcodefrom PIL import Imageimport osdef gen_qrcode(string, path, logo=""): """ 生成中间带logo的二维码 需要安装qrcode, PIL库 :param string: 二维码字符串 :param path: 生成的二维码保存路径 :param logo: logo文件路径 :return: """ qr = qrcode.QRCode( version=2, error_correction=qrcode.constants.ERROR_CORRECT_H, box_size=8, border=1 ) qr.add_data(string) qr.make(fit=True) img = qr.make_image() img = img.convert("RGBA") if logo and os.path.exists(logo): icon = Image.open(logo) 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) icon = icon.convert("RGBA") img.paste(icon, (w, h), icon) img.save(path)if __name__ == "__main__":<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px;"> gen_qrcode("http://offbye.com","qr.png", "logo.png")</span>
0 0
- 涛哥的Python脚本工具箱之生成带Logo的二维码
- python实现生成带Logo的二维码
- 生成带logo的二维码
- 带logo的二维码生成
- 【iOS开发】二维码生成 二维码读取 (带Logo的二维码)
- PHP生成自带logo的二维码
- php生成带logo的二维码
- 生成带logo的二维码图片
- android生成带logo的二维码
- 动态生成带logo的二维码
- 使用Zxing生成带logo的二维码
- java生成带logo的多彩二维码
- zing生成带logo的二维码
- 生成带logo图像的二维码
- 自带logo的二维码生成代码
- Python3生成带logo的二维码
- Java:生成带logo的二维码(ZXing)
- Android 生成带logo的二维码
- 第九周项目3 输出※号图f
- 【例 2.12】
- grunt
- 2014年10月28日笔记
- Cognos异常(五) - CAM-CRP-1093 无法读取密钥库
- 涛哥的Python脚本工具箱之生成带Logo的二维码
- jQuery EasyUI-DataGrid动态加载表头
- 虚拟机 Transport(VMDB)error -44:Message
- java做批处理操作,报错java.sql.SQLRecoverableException解决方法
- 【快速参考】用Emacs做Android开发环境
- centos 6.4 yum安装zabbix-agent端
- lhgdialog窗口传值
- Eclipse项目去掉jquery的红叉
- YARN NodeManager 剖析