【Python创建专属二维码】

news2024/11/15 19:28:23

1、在PyCharm | Settings | Python Interpreter中添加PDL、PILLOW(注意解释器版本)

在这里插入图片描述

2、代码

from PIL import Image
import qrcode


def main():
    # QRCode()创建一个对象:
    qr = qrcode.QRCode(version=5, error_correction=qrcode.constants.ERROR_CORRECT_H, box_size=8, border=4)
    # version:值为1~40的整数,控制二维码的大小(最小值是1,是个21×21的矩阵)
    # error_correction:控制二维码的错误纠正功能。可取值下列4个常量:
    '''
    qrcode.constants.ERROR_CORRECT_X:
        1. X=L时,大约7%或更少的错误能被纠正。 
        2. X=M(默认)时,大约15%或更少的错误能被纠正。
        3. X=Q时,25%以下的错误会被纠正。
        4. X=H时,大约30%或更少的错误能被纠正。
    '''
    # box_size:控制二维码中每个小格子包含的像素数。
    # border:控制边框(二维码与图片边界的距离)包含的格子数(默认为4)

    # 向二维码中添加信息
    qr.add_data("https://blog.csdn.net/IT_6969?spm=1000.2115.3001.5343")

    qr.make(fit=True)

    img = qr.make_image()
    # 二维码设置为彩色
    img = img.convert('RGBA')
    # 打开logo图片
    logo = Image.open("D:/aa.jpg")
    # 二维码尺寸
    img_w, img_h = img.size
    # 默认LOGO最大设为图片的1/4
    factor = 4
    # 最大logo尺寸
    size_w = int(img_w / factor)
    size_h = int(img_h / factor)
    # logo的尺寸
    logo_w, logo_h = logo.size

    if logo_w > size_w or logo_h > size_h:
        logo_w = size_w
        logo_h = size_h
    logo = logo.resize((logo_w, logo_h), Image.LANCZOS).convert('RGBA')
    l_w = int((img_w - logo_w) / 2)
    l_h = int((img_h - logo_h) / 2)
    # 替换指定位置
    img.paste(logo, (l_w, l_h), logo)
    img.show()
    img.save('D:/csdn网址二维码2.png')


main()  # 调用main()函数

3、将要展示的图片放到指定路径,以及二维码信息。

在这里插入图片描述

4、执行,效果

在这里插入图片描述

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

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

相关文章

前端框架技术革新历程:从原生DOM操作、数据双向绑定到虚拟DOM等框架原理深度解析,Web开发与用户体验的共赢

前端的发展与前端框架的发展相辅相成,形成了相互驱动、共同演进的关系。前端技术的进步不仅催生了前端框架的产生,也为其发展提供了源源不断的动力。 前端的发展 前端,即Web前端,是指在创建Web应用程序或网站过程中负责用户界面…

Docker之注册中心的使用与操作

一、Docker注册中心与仓库 Reastry 可译为注册中心或注册服务器,是存放仓库的地方,一个注册中心往往有很多仓库。Docker默认的注册中心是Docker Hub,其可以通过浏览器访问,也可以使用docker search命令访问。 仓库是集中存放镜像…

[图解]软件开发中的糊涂用语-04-为什么要追究糊涂用语

0 00:00:00,030 --> 00:00:05,620 今天呢,我们来说一个为什么要追究糊涂用语的问题 1 00:00:06,310 --> 00:00:06,548 2 00:00:06,548 --> 00:00:11,077 大家知道我们前些天都发了好几个视频 3 00:00:11,077 --> 00:00:13,461 追究这个糊涂用语 4 00…

Python中capstone实现反汇编可执行文件

1、基本案例——disasm函数 capstone有非常简单的API,所以使用该框架编写工具非常简单。接下来,下面的代码实现的功能是反汇编一些X86二进制文件,并打印出其对应的汇编语句。 代码展示: from capstone import * #将capstone模块…

列车tcn网络mvb从站接收代码流程解析

TCN-列车通信网络概述 机车车辆通信网络(TCN-列车通信网络)的基本组件是在整个列车单元中提供数据通信的有线列车总线(WTB)和用于在车辆或固定连接车辆组(组成)内进行数据交换(通信&#xff09…

免费https证书申请及部署教程

目前随着https访问的普及度逐渐提高,https证书的使用率也与日俱增,多数网站都会通过实现https来保障自身网站的数据传输安全,这时候就离不开SSL证书了,如何获取SSL证书,又如何将SSL证书部署在域名上,今天为…

外贸客户开发有用的软件

外贸客户开发过程中,选择合适的软件工具能够显著提升效率和效果。以下是一些对外贸客户开发非常有用的软件: CRM系统: Salesforce:全球领先的CRM平台,提供强大的客户关系管理、市场分析、销售自动化等功能,…

关于RS485通信失败的问题(忽视了使能引脚)

问题 如图,使用485进行串口通信时,程序一直卡在接收这句。 解决 检查串口引脚配置都没问题,因此怀疑是硬件的原因。 在RS485通信中,通常需要一个使能信号来控制半双工总线上的发送和接收状态,这个信号经常被标记为&…

ProbeManager:一款功能强大的入侵检测系统集中化管理工具

关于ProbeManager ProbeManager是一款功能强大的入侵检测系统集中化管理工具,该工具旨在简化检测探针的部署任务,并将其所有功能集中在一个地方。 一般来说,很多入侵检测系统(IDS)包括其软件及规则都不会定期更新&…

C++ | Leetcode C++题解之第43题字符串相乘

题目&#xff1a; 题解&#xff1a; class Solution { public:string multiply(string num1, string num2) {if (num1 "0" || num2 "0") {return "0";}int m num1.size(), n num2.size();auto ansArr vector<int>(m n);for (int i …

Java 网络编程之TCP(一):基于BIO

环境&#xff1a; jdk 17 IntelliJ IDEA 2023.1.1 (Ultimate Edition) Windows 10 专业版 22H2 TCP&#xff1a;面向连接的&#xff0c;可靠的数据传送协议 Java中的TCP网络编程&#xff0c;其实就是基于常用的BIO和NIO来实现的&#xff0c;本文先讨论BIO&#xff1b; BIO…

Pytorch 学习路程 - 1:入门

目录 下载Pytorch 入门尝试 几种常见的Tensor Scalar Vector Matrix AutoGrad机制 线性回归尝试 使用hub模块 Pytorch是重要的人工智能深度学习框架。既然已经点进来&#xff0c;我们就详细的介绍一下啥是Pytorch PyTorch 希望将其代替 Numpy 来利用 GPUs 的威力&…

STM32F103ZET6 封装 LQFP-144 ST意法 单片机芯片

STM32F103ZET6 是意法半导体&#xff08;STMicroelectronics&#xff09;生产的一款基于 ARM Cortex-M3 内核的 32 位微控制器。它具有高性能、低功耗的特点&#xff0c;广泛应用于各种嵌入式系统和工业应用中。STM32F103ZET6 的主要特点如下&#xff1a; 内核&#xff1a;ARM…

【每日力扣】41. 缺失的第一个正数 238. 除自身以外数组的乘积 189. 轮转数组

&#x1f525; 个人主页: 黑洞晓威 &#x1f600;你不必等到非常厉害&#xff0c;才敢开始&#xff0c;你需要开始&#xff0c;才会变的非常厉害 41. 缺失的第一个正数 给你一个未排序的整数数组 nums &#xff0c;请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为…

一个 Java 项目最多定义多少个线程池比较合理,有哪些限制因素需要考量?

在Java项目中&#xff0c;线程池是一种重要的并发机制&#xff0c;用于管理和执行多线程任务。然而&#xff0c;线程池的设计需要谨慎考虑&#xff0c;以确保系统的稳定性、性能和资源利用率。在决定一个Java项目中最多可以定义多少个线程池时&#xff0c;需要综合考虑多种因素…

IPRally巧用Google Kubernetes Engine和Ray改善AI

专利检索平台提供商 IPRally 正在快速发展&#xff0c;为全球企业、知识产权律师事务所以及多个国家专利和商标局提供服务。随着公司的发展&#xff0c;其技术需求也在不断增长。它继续训练模型以提高准确性&#xff0c;每周添加 200,000 条可供客户访问的可搜索记录&#xff0…

AI大模型探索之路-资料篇:大模型开发相关地址信息收藏

文章目录 前言一、OpenAI大模型二、LangChain开发框架三、RAGA评估框架四、GLM大模型五、搜索服务1. Tavily Search API 六、文本LLM大模型七、多模态LLM模型八、模型排行榜1.大模型评测体系&#xff08;司南OpenCompass&#xff09;2.大模型排行榜&#xff08;DataLearner AI&…

基于SSM的在线家教管理系统(含源码+sql+视频导入教程)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSM的在线家教管理系统1拥有三种角色 管理员&#xff1a;学生管理、老师管理、发布管理、留言管理、回复管理、订单管理等教师&#xff1a;我的订单、我的关注、查看回复留言、登录注…

如何加盟共享wifi项目?了解套路有哪些?

自共享wifi项目推出在市场火爆后&#xff0c;各路资本都看到了该项目的广阔前景&#xff0c;纷纷开始研发程序&#xff0c;想要趁机分一杯羹。但对于普通人而言&#xff0c;独立研发程序显然不大现实&#xff0c;于是&#xff0c;共享wifi项目如何加盟便成为了绝大多数人最为关…

Sql Server 数据库:查询表结构脚本

查询脚本: SELECT CASE WHEN col.colorder 1 THEN obj.name ELSE END AS 表名, col.colorder AS 序号 , col.name AS 列名 , ISNULL(ep.[value], ) AS 列说明 , t.name AS 数据类型 , col.length AS 长度 , ISNULL(COLUMNPROPERTY(col.id, col.name, Scale), 0) AS 小数位数…