发布时间:2019/06/28 09:54:00   更新时间:2020/07/31 19:51:36
今天,分享一下,如何用python生成带logo的二维码。 如果说,大家想要生成一个简单的二维码,那完全没必要大动干戈用程序。直接百度一个生成二维码网站,生成一个就好了。 文字、网址、文件、……什么都可以。 但是,要生成一个带logo的漂亮的二维码,可以参考下本文。。。 我的写作风格是,一行一行给代码加注释。。。 python的注释用# 更多的说明,用【】,这个在代码运行里得删除。 # -*- coding: utf-8 -*- #pip install qrcode import qrcode #pip install pillow from PIL import Image 【安装qrcode和pillow两个库,并引用。】 def make_qrcode(): qr = qrcode.QRCode( version = 1, #控制二维码尺寸1-40 error_correction = qrcode.constants.ERROR_CORRECT_H, #控制二维码纠正错误的程度。 box_size = 8, #控制二维码每个格子的像素值。默认10。 border = 4 #控制边框包含的格子数。默认4。 ) 【生成一个qr实例。】 #添加二维码数据 qr.add_data("https://www.pyfield.com/") #生成二维码图片 qr.make(fit=True) #设置填充色和背景色 img = qr.make_image(fill_color="black", back_color="white") img = img.convert("RGBA") 【生成一个img,并转RGBA模式,转这个模式很重要,没有这一句,后边的logo的彩色会丢失,称为黑白的。】 #打开logo文件 icon = Image.open("pyfield_logo.png") 【西安用ps或者其它作图软件,把要加入的logo处理好。——注意用自己创作或者拍摄的原图改,省的有图片侵权问题。】 【要注意一点,一般来说,把图片的白色背景留下,如果白色背景全部去掉,图形和二维码颜色就混在一起了。 除非比较简单封闭的logo,否则这样不好看。】 #计算logo的尺寸 img_w, img_h = img.size factor = 4 size_w = int(img_w / factor) size_h = int(img_h / factor) #比较并重新设置logo文件的尺寸 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) #计算logo的位置,并复制到二维码图像中 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.show() #保存二维码 img.save('qr.png') if __name__ == '__main__': make_qrcode()
【运行文件,将产生带彩色logo的二维码。】
【大家可以看看本站最下方的,蟒域网网址二维码,大体就是这个样子。】