Python+PIL+qrcode实现二维码自由—普通二维码+彩色二维码+logo二维码+动态二维码(附完整代码)

news2024/11/24 15:24:16

有时候我们需要自己制作一个二维码,然后进行打印下来,或者说在二维码中提前写上一段话比如搞笑的话,然后印在衣服上,然后穿出去玩!的🤣

那么今天我们分享一下制作二维码的几种方式:

哎,先转库

库名安装
qrcodepip install qrcode
PILpip install pillow

1、最简单的,就两行代码的🤣

qrcode.make("这里可以写上自己想说的话,或者一个网址,网址要完整:Https://www.xxxx.com")
也可以加上 qr.save(".保存路径一图片名字")
import qrcode

qr = qrcode.make("https://www.baidu.com")
qr.show()
# qr.save("./qrcode.png")

请添加图片描述

2、复杂版(加了几个参数)

version = 7,# 版本号(1-40),数字越大二维码越大,二进制的像素点越密集
error_correction = 2,# 容错率等级2表示容错率等级最高,容错率等级我记得是1,0,3,2 L:little,M:middle,Q:quite,H:high

在这里插入图片描述

box_size = 10, # 像素尺寸,二进制的黑白像素点的边长
border = 4 # 二维码的边框宽度
qr_img.add_data("http://www.baidu.com")添加想写的文字,或者一个网址,网址记得加上Https://
qr_img.make(fit=True) # fit = True 指的是如果未指定版本号,系统将自动生成相对应的尺寸
img = qr_img.make_image() # 生成二维码图片

此外,可以给你的二维码加上 前景色以及背景色

qr_img.make_image()在其中加上两个参数
前景色
fill_color = 'blue'
背景色

back_color = 'orange')

import qrcode

qr_img = qrcode.QRCode(
    version = 7,# 版本号(1-40)
    error_correction = 2,# 容错率等级
    box_size = 10, # 像素尺寸
    border = 4 # 边框宽度
    )
# qr_img.add_data("hello world")
qr_img.add_data("http://www.baidu.com")
qr_img.make(fit=True) # fit = True 指的是如果未指定版本号,系统将自动生成相对应的尺寸
img = qr_img.make_image(# 设置前景色和背景色
fill_color = 'blue',
back_color = 'orange')
img.show()
# img.save("D:\\随笔\\0000.png")

请添加图片描述

3、图标版,就是中间有个小图片(满满的注释)

import qrcode
from PIL import Image

q![请添加图片描述](https://img-blog.csdnimg.cn/94ee81df64c845948b18bb747652f1a8.gif)
r4 = qrcode.QRCode(version=7,#版本号
				   error_correction=2,#容错率
				   box_size = 10,#格子像素尺寸
				   border=1 #边框宽度 
				   )
qr4.add_data("https://www.baidu.com")
qr4.make(fit=True) #fit=True 意思是版本号如果没写,系统将自动生成版本
qr4 = qr4.make_image(fill_color="orange",back_color="black")
qr4 = qr4.convert("RGB")
# 选择自己的图片
pig=Image.open(r"D:\小猪佩奇.png")
qr4_w,qr4_h = qr4.size # 获得二维码的尺寸
pig_w,pig_h = pig.size # 获得自己图片的尺寸
pig_w,pig_h = qr4_w//4,qr4_h//4 # 将自己图片的宽和高变成二维码图片尺寸的1/4
pig=pig.resize((pig_w,pig_h),1) # 将图片重新生成1/4大小尺寸
w,h = int((qr4_w-pig_w)/2),int((qr4_h-pig_h)/2)# 算出图片贴的坐标
qr4.paste(pig,(w,h)) # 二维码上贴上自己缩小后的图片
qr4.show()
# # qr4.save("D:\\随笔\\myself.png")

请添加图片描述

4、动态二维码

这个需要安装一个库

pip install MyQR

先准备一张动态图片

在这里插入图片描述

代码(运行后等待一会有点慢):

save_dir = "D:\\" ,这是保存路径记住,无需写上二维码保存后的名称
保存后的名称在这写:save_name = "my_qrcode.gif"

os.system("D:\\my_qrcode.gif"),这一行是打开动语二维码图片

from MyQR import myqr
import os
myqr.run(
    words = "hello",
    version = 5,
    level = "H",
    picture = r"D:\0.gif",
    colorized = True,
    save_name = "my_qrcode.gif",
    save_dir = "D:\\"
    )
os.system("D:\\my_qrcode.gif")

请添加图片描述

希望对大家有用!!

致力于办公自动化的小小程序员一枚#

都看到这了,关注+点赞+收藏=不迷路!!

如果你想知道更多关于Python办公自动化的知识各位大佬给个关注吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/949869.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux服务器安装部署MongoDB数据库 – 【无公网IP远程连接】

文章目录 前言1.配置Mongodb源2.安装MongoDB数据库3.局域网连接测试4.安装cpolar内网穿透5.配置公网访问地址6.公网远程连接7.固定连接公网地址8.使用固定公网地址连接 前言 MongoDB是一个基于分布式文件存储的数据库。由 C 语言编写,旨在为 WEB 应用提供可扩展的高…

word表格左侧边线明明有,但却不显示

如题,解决方法: 方案一: 1)选中表格 2)布局菜单--->自动调整 3)自动调整中,选择“根据窗口自动调整表格” 4)表格左侧边线就显示出来了。 方案二:把表格粘贴到新…

macOS上制作arm64的jdk17镜像

公司之前一直用的openjdk17的镜像,docker官网可以直接下载,但是最近对接的一个项目,对方用的是jdk17,在对接的时候有加解密异常的问题,为了排查是不是jdk版本的问题,需要制作jdk17的镜像。docker官网上的第…

【AI】《动手学-深度学习-PyTorch版》笔记(二十一):目标检测

AI学习目录汇总 1、简述 通过前面的学习,已经了解了图像分类模型的原理及实现。图像分类是假定图像中只有一个目标,算法上是对整个图像做的分类。 下面我们来学习“目标检测”,即从一张图像中找出需要的目标,并标记出位置。 2、边界框 边界框:bounding box,就是一个方…

走进Linux系统

1.开机关机和基本目录介绍 /www 目录:存放服务器网站相关资源,环境,网站的项目

【GO】LGTM_Grafana_Tempo(2)_官方用例改后实操

最近在尝试用 LGTM 来实现 Go 微服务的可观测性,就顺便整理一下文档。 Tempo 会分为 4 篇文章: Tempo 的架构官网测试实操跑通gin 框架发送 trace 数据到 tempogo-zero 微服务框架使用发送数据到 tempo 根据官方文档实操跑起来 tempo,中间根…

数据分析师职业发展道路,工作内容是什么?

很多同学问,参加数据分析就业班后之的就业发展道路是怎样的,工作又能做什么呢? 市面上的常见的工作类型有有运营类、技术类及分析类等,可以根据自己的意愿去做适合自己的工作,但是任何工作其实都是需要一技之长。…

对 K8s Pod 安全有多少认识?

写在前面 简单整理,博文内容涉及: PSP 的由来PSA 的发展PSA 使用认知 不涉及使用,用于了解 Pod 安全 API 资源理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全…

File类/IO流介绍

一. File 概要:实现将数据从内存中存储到计算机硬盘中,存储方式以File的形式进行存储 File是Java.io包下的类,File类对象既可表示文件,又可表示文件夹 File类只能对文件本身进行操作,不能读写文件里存储的数据&#x…

Spring-SpringBoot-SpringMVC-MyBatis常见面试题

文章目录 Spring篇springbean是安全的的?什么是AOP你们工作中有用过AOP吗spring中的事务是如何实现的spring中事务失效场景Spring的生命周期spring中的循坏依赖springMVC的执行流程springboot的启动原理常用注解MyBatis执行流程Mybatis是否支持延迟加载?Mybatis的一…

Android studio实现圆形进度条

参考博客 效果图 MainActivity import androidx.appcompat.app.AppCompatActivity; import android.graphics.Color; import android.os.Bundle; import android.widget.TextView;import java.util.Timer; import java.util.TimerTask;public class MainActivity extends App…

【记录】Truenas scale|NFSv4数据集的子目录或文件的ACL完全访问权限继承老是继承不了怎么回事

我遇到了数据集下新建文件夹或文件,新建的文件夹或文件没有和数据集的ACL设置相符合的情况。其根本原因是NFSv4的完全访问权限要想继承的话,它的访问设置权限要设置“用户”和“组”的,就是,一定要选择中文的那个设置。纯owner和g…

计算机竞赛 基于机器视觉的行人口罩佩戴检测

简介 2020新冠爆发以来,疫情牵动着全国人民的心,一线医护工作者在最前线抗击疫情的同时,我们也可以看到很多科技行业和人工智能领域的从业者,也在贡献着他们的力量。近些天来,旷视、商汤、海康、百度都多家科技公司研…

JavaScript数组简介

JavaScript中的数组是一种强大的数据结构,它可以用来存储和处理各种类型的数据。熟练掌握数组的使用可以让编写JavaScript代码更加高效和优雅; ● 例如,现在我十个朋友要存到变量中,传统的话 const friend1 "张三"; c…

mysql 间隙锁原理深度详解

目录 一、前言 二、mysql之mvcc 2.1 什么是mvcc 2.2 mvcc组成 2.2.1 Undo log 多版本链 2.2.2 ReadView 2.2.3 快照读与当前读 三、RR级别下的事务问题 3.1 RR隔离级别解决的问题 3.1.1 幻读问题 3.2 幻读效果演示 3.2.1 准备测试表和数据 3.2.2 修改事务级别 3.…

2017. 网格游戏;2397. 被列覆盖的最多行数;2202. K 次操作后最大化顶端元素

2017. 网格游戏 核心思想:前缀和枚举。读完题后可以发现,第一个机器人走的路线就像一条分割线,第二个机器人只能获得上面白色部分或者下面白色部分的最大值。这个最大值怎么求,我们可以通过前缀和来求,然后通过枚举转…

【探索C++】输入输出

(꒪ꇴ꒪ ),Hello我是祐言QAQ我的博客主页:C/C语言,数据结构,Linux基础,ARM开发板,网络编程等领域UP🌍快上🚘,一起学习,让我们成为一个强大的攻城狮&#xff0…

【模拟】算法实战

文章目录 一、算法原理二、算法实战1. leetcode1576 替换所有的问号2. leetcode495 提莫攻击3. leetcode6 N字形变换4. leetcode38 外观数列5. leetcode1419 数青蛙 三、总结 一、算法原理 模拟就是用计算机来模拟题目中要求的操作,模拟题目通常具有代码量大、操作…