qrcode生成二维码图片及文字说明,qrcode制作二维码

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: