python笔记 利用python 自动生成条形码 二维码
1. ean13标准条形码
from pystrich.ean13 import EAN13Encoder
encode = EAN13Encoder('')
encode.save('d:/barcode.png')
条形码最常用的ean13,前三位是国家代码,接着4位是企业代码,接着5位是企业自定义,最后一位是校验码(自动生成)
参数是一个12位的值,会生成13位的条形码
校验码的计算方法是 10 -(偶数位之和*3 + 奇数位之和) % 10
123123123123X 10 - (2+1+3+2+1+3)*3 +(1+3+2+1+3+2) % 10 -->2
1231231231232

2.简单二维码
import qrcode # 制作二维码实例,可以添加文字,数字,URL
qrc = qrcode.make(r'https://www.baidu.com')
# 保存二维码
qrc.save('d:/qr.png')
3.二维码中加入图片
# 导入图像处理库PIL的image方法
from PIL import Image
# qrcode是第三方库,需要pip install qrcode安装
import qrcode # 初步生成二维码图像
qr = qrcode.QRCode(version=None,error_correction=qrcode.constants.ERROR_CORRECT_H,box_size=8,border=4)
# 添加二维码信息,可以是文字、数字、url
qr.add_data("http://www.besttang.com")
# 生成二维码实例
qr.make(fit=True) # 把实例转换成图片
img = qr.make_image()
# 把颜色模式转换为RGBA
img = img.convert("RGBA") # 打开logo文件,二维码中心logo图片
icon = Image.open("D:/favicon.jpg") # 先得出二维码的宽和高
img_w,img_h = img.size
factor = 4
# 通过二维码宽高计算出logo图片宽和高的最大限度
size_w = int(img_w / factor)
size_h = int(img_h / factor) # 获取logo的宽和高
icon_w,icon_h = icon.size
#比较logo宽高和最大限度宽高,如果超过最大限度就将logo尺寸调整到最大限度
if icon_w >size_w:
icon_w = size_w
if icon_h > size_h:
icon_h = size_h
# 重新调整logo的尺寸 Image.NEAREST :低质量 Image.BILINEAR:双线性
# Image.BICUBIC :三次样条插值 Image.ANTIALIAS:高质量
icon = icon.resize((icon_w,icon_h),Image.ANTIALIAS) # 根据logo和图片的长宽确定logo的位置
w = int((img_w - icon_w)/2)
h = int((img_h - icon_h)/2)
# 将logo颜色模式转换为RGBA
icon = icon.convert("RGBA")
# 将logo图片粘贴到二维码的指定位置
img.paste(icon,(w,h)) # 保存二维码到指定位置,设置二维码格式
img.save('D:/createlogo.png')

参数含义:
version:值为1~40的整数,控制二维码的大小(最小值是1,是个12×12的矩阵)。 如果想让程序自动确定,将值设置为 None 并使用 fit 参数即可。
error_correction:控制二维码的错误纠正功能。可取值下列4个常量。
ERROR_CORRECT_L:大约7%或更少的错误能被纠正。
ERROR_CORRECT_M(默认):大约15%或更少的错误能被纠正。
ROR_CORRECT_H:大约30%或更少的错误能被纠正。
box_size:控制二维码中每个小格子包含的像素数。
border:控制边框(二维码与图片边界的距离)包含的格子数(默认为4,是相关标准规定的最小值)
python笔记 利用python 自动生成条形码 二维码的更多相关文章
- vue生成条形码/二维码/带logo二维码
条形码:https://blog.csdn.net/dakache11/article/details/83749410 //安装 cnpm install @xkeshi/vue-barcode / ...
- html端输入数据,利用qrcode.js生成打印二维码
在前端页面中导入qrcode.js(下载)和jquery.js(下载) index.html <script> function print() { var textbox1 = $('i ...
- Python | 一行命令生成动态二维码
当我看到别人的二维码都做的这么炫酷的时候,我心动了! 我也想要一个能够吸引眼球的二维码,今天就带大家一起用 Python 来做一个炫酷的二维码! 首先要安装工具 myqr: pip install m ...
- python小工具myqr生成动态二维码
python小工具myqr生成动态二维码 (一)安装 (二)使用 (一)安装 命令: pip install myqr 安装完成后,就可以在命令行中输入 myqr 查看下使用帮助: myqr --he ...
- 你只要5行代码,拥有你的个性二维码,用Python生成动态二维码
如果想了解更多关于python的应用,可以私信我,或者点击下方链接自行获取,里面到资料都是免费的(http://t.cn/A6Zvjdun) 二维码满天飞,但是有没有想过Python也能制作出专属于自 ...
- Python 生成个性二维码
1.1 实验内容 本课程通过调用MyQR接口来实现生成个人所需二维码,并可以设置二维码的大小.是否在现有图片的基础上生成.是否生成动态二维码. 本课程主要面向Python3初学者. 1.2 知识点 P ...
- 使用zxing生成解析二维码
1. 前言 随着移动互联网的发展,我们经常在火车票.汽车票.快餐店.电影院.团购网站以及移动支付等各个场景下见到二维码的应用,可见二维码以经渗透到人们生活的各个方面.条码.二维码以及RFID被人们应用 ...
- pbfunc外部函数扩展应用-直接在Datawindow中生成QR二维码,非图片方式
利用pbfunc外部函数在Datawindow中直接生成QR二维码,非图片方式.需要注意以下面几点: Datawindow的DataObject的单位必须为像素(Pixels). Datawindow ...
- ZBar 是款桌面电脑用条形码/二维码扫描工具
ZBar 是款桌面电脑用条形码/二维码扫描工具 windows平台python 2.7环境编译安装zbar 最近一个项目需要识别二维码,找来找去找到了zbar和zxing,中间越过无数坑,总算基本 ...
随机推荐
- Linux查看日志常用命令(转载)
转自: https://www.cnblogs.com/kbkiss/p/7567725.html -------------------------------------------------- ...
- EF导航属性会自动从已查出来的对象附加
如果新增对象导航属性对应的Id有值,其相应的导航属性会自动在内存中查找,如果存在会自动附加上去. public virtual void UpdateMaterialPurchaseOrderItem ...
- 纯 JS 设置文本框的默认提示
HTML5 中有个新特性叫 placeholder,一般用它来描述输入字段的预期值,适用于 text.search.password 等类型的 input 以及 textarea.示例如下: < ...
- 解决FastCGI 进程超过了配置的活动超时时限的问题
近日,需要满足测试需求,进行大数据并发测试时,报出[HTTP 错误 500.0 - Internal Server Error E:\PHP\php-cgi.exe - FastCGI 进程超过了配置 ...
- SpringCloud的阿里巴巴相关开源组件
Sentinel 阿里巴巴开源产品,把流量作为切入点,从流量控制.熔断降级.系统负载保护等多个维度保护服务的稳定性. Nacos 阿里巴巴开源产品,一个更易于构建云原生应用的动态服务发现.配置管理和服 ...
- jQuery 的58种事件方法你都用过了吗
jQuery 事件方法 事件方法触发或将函数附加到所选元素的事件处理程序. 下表列出了用于处理事件的所有jQuery方法. 方法 描述 bind() 在3.0版中已弃用. 请改用on()方法.将事件处 ...
- python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
插图工具使用Python内置的turtle模块,为什么叫这个turtle乌龟这个名字呢,可以这样理解,创建一个乌龟,乌龟能前进.后退.左转.右转,乌龟的尾巴朝下,它移动时就会画一条线.并且为了增加乌龟 ...
- 剑指offer 8:旋转数组的最小数字
题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转 ...
- python3 AES 加解密
#coding:utf-8 import base64 from Crypto.Cipher import AES #注:python3 安装 Crypto 是 pip3 install -i htt ...
- IDEA写vue项目出现红色波浪线警告如何解决??
1.看图 2.希望对大家有帮助,只要修改了这个就可以,如有任何问题都可以留言,谢谢大家 2019-09-1923:54:11 作者:何秀好