标签:res erro 地址 -- quick rgba lan style content
近期须要在二维码上加Logo,网上没有找到好用的,于是自己用python写了一个。
须要安装qrcode,PIL库
二维码简称 QR Code(Quick Response Code),学名为高速响应矩阵码,是二维条码的一种。由日本的 Denso Wave 公司于 1994 年发明。
现随着智能手机的普及。已广泛应用于寻常生活中,比如商品信息查询、社交好友互动、网络地址訪问等等。
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 qrcode from PIL import Image import os def 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>
标签:res erro 地址 -- quick rgba lan style content
原文地址:http://www.cnblogs.com/yangykaifa/p/6795450.html