qrcode生成二维码图片及文字说明,qrcode制作二维码
大蟒的二维码库生成二维码圆角标志;徽标二维码我的二维码库生成动态二维码_ wx 6131 DCC 8 ea 14的技术博客_博客
一、一般二维码
二维码是个用来生成二维码图片的第三方模块,先安装:
点安装二维码
导入二维码
定义流程(自身、消息、用户=无):
qr=二维码。二维码(
版本=1,
错误_更正=二维码。常数。错误_更正_ L,
box_size=10,
border=4,
)
qr.add_data(消息。值)
qr.make(fit=True)
img=qr.make_image()
文件管理器=文件管理器( log/we chat _ files/)
img_path=filemgr.make_path( .png’)
img.save(img_path)
return TaskRsp(end=True,msgs=[TypedMessage(type=pic ,value=img_path)])二维码参数详细说明:
版本:一个整数,范围为一到40,表示二维码的大小(最小值是1,是个1212的矩阵),如果想让程序自动生成,将值设置为没有人并使用fit=True参数即可错误_纠正:二维码的纠错范围,可以选择四个常量:
误差_校正_L 7%以下的错误会被纠正
误差_校正_M(默认值)15%以下的错误会被纠正
误差_校正_Q 25 %以下的错误会被纠正
误差_校正_H. 30%以下的错误会被纠正盒子尺寸:每个点(方块)中的像素个数边框:二维码距图像外围边框距离,默认为4,而且相关规定最小为四二、内置圆角标志;徽标的二维码一般的二维码太丑,需要内置一个logo,为了美观还要对标志;徽标进行圆角处理
导入二维码
从太平航运导入图像,ImageDraw
# 设置圆角
def circle_crop_image(im,radii):
# 创建一个黑色背景的画布
circle=Image.new(L ,(半径* 2,半径* 2),0)
# 画黑色方形
draw=ImageDraw .画(圈)
# 画白色圆形
draw.ellipse((0,0,半径* 2,半径* 2),填充=255)
# 把原图转换成颜色模式,增加希腊字母的第一个字母通道
img=im.convert(RGBA )
w,h=img.size
# 画四个角(将整圆分离为四个部分)再粘贴到希腊字母的第一个字母通道
alpha=Image.new(L ,img.size,255)
# 左上角
阿尔法糊(圈。作物((0,0,半径,半径)),(0,0))
# 右上角
阿尔法糊(圈。作物(半径,0,半径* 2,半径)),(w -半径,0))
# 右下角
糊(圈。作物(半径,半径,半径* 2,半径* 2))、(w -半径,h -半径))
# 左下角
阿尔法糊(圈。作物((0,半径,半径,半径* 2)),(0,h -半径))
# 白色区域透明可见,黑色区域不可见
普塔尔法
返回图片
# 生成二维码
定义创建二维码(网址):
qr=二维码。二维码(
版本=2,
# 设置容错率为最高
错误_更正=二维码。错误_正确_H,
box_size=10,
border=1,
)
qr.add_data(url)
qr.make(fit=True)
# 创建二维码图片
img=qr.make_image()
# 图片转换为颜色格式
img=img.convert(RGBA )
# 打开标志;徽标图片
图标=图像。打开(日志/微信_ files/222 . png’)
# 把RGB的图转换成颜色模式,处理希腊字母的第一个字母透明通道(后边替换透明为白色)
icon=icon.convert(RGBA )
w,h=img.size
图标w,图标h=图标大小
#徽标大小超过100的压缩到100,这个可以自己设置,影响标志;徽标的大小
if icon_w 111:
icon=icon.resize((111,111),Image .抗锯齿)
图标w,图标h=图标大小
w=int((w - 111)/2)
h=int((h - 111)/2)
否则:
w=int((w - icon_w)/2)
h=int((h - icon_h)/2)
# 把png背景色转换为白色,避免处理裁剪圆角时出现黑边
w_d=Image.new(RGBA ,icon.size,(255,255,255))
w_d.paste(图标,(0,0,图标_w,图标_h),图标)
# r=icon_w //15
# 圆角半径
r=15
图标=circle_crop_image(w_d,r)
# 白底图,15的数值影响白色底图的大小
white_img=Image.new(RGBA ,(icon_w 15,icon_h 15),(255,255,255))
white _ img=circle _作物_图像(白色_img,r)
# 灰底图
gray_img=Image.new(RGBA ,(icon_w 2,icon_h 2),(230,230,230))
# 灰底图圆角处理
gray _ img=circle _ crop _ image(gray _ img,r)
# 粘贴灰底图
white_img.paste(灰色_img,(2,2),灰色_img)
# 粘贴白图
img.paste(white_img,(w - 2,h - 2),white_img)
#粘贴图标,(w 5,h 5)是左上角的坐标,数值用white_img的数值调整,影响白边的宽度。
img.paste(icon,(w 5,h 5),icon)
img_path=D:\\xxoo.png
img.save(img_path,质量=100)
# img.show()
打印(img_path)
返回图像路径
Create_qr_code(www.baidu.com )三。myqr库生成的动态二维码图片本来就是动态的,所以到现在也没看懂,哈哈
从myqr导入MyQR
def get_qrcode(dir):
img _ path= D:\ \ xxoo . png print(img _ path)
Myqr.run(words=dir,# words)填写链接或文本内容。
版本=3,#二维码大小控制在1到40,建议不要超过5,否则生成时间太长。
Level=H ,#控制纠错级别,范围从L,M,Q,H,从左到右递增。
图片= log/wechat _ files/111.gif ,#背景图片,格式可以。jpg,png,bmp,可交换的图像格式
Colorized=True,#可以将生成的图片从黑白(False)更改为彩色(True)
对比度=1.3,#用于调整画面的对比度,1.0表示原图,较小的值表示对比度较低,较大的值表示相反。默认值为1.0。
亮度=1.3,#用于调节画面亮度。
Save _ dir= log/微信_ files/,)#保存目录
# GET _二维码( 3358 www.baidu.com )这里有个骚的。效果自己看。哈哈,泡妞神器:
从myqr导入MyQR
def get_qrcode(dir):
填写myqr.run中的链接(words=dir,# words)
版本=3,#二维码大小控制在1到40,建议不要超过5,否则生成时间太长。
Level=H ,#控制纠错级别,范围从L,M,Q,H,从左到右递增。
Picture=timg.gif ,#你想玩的动态图片路径,网上下载就行了,
Colorized=True,#可以将生成的图片从黑白(False)更改为彩色(True)
对比度=1.3,#用于调整画面的对比度,1.0表示原图,较小的值表示对比度较低,较大的值表示相反。默认值为1.0。
亮度=1.3,#用于调节画面亮度。
Save _ dir= log/微信_ files/,)#保存目录
get _ QR code( https://a . scene . eprezi . com/s/xtein z0v?Adpop=1 )参考:
转载请联系作者授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。