当前位置: 首页 > news >正文

python程序员狂飙上头——京海市大嫂单推人做个日历不过分吧?

嗨害大家好鸭!我是小熊猫~

这个反黑剧其实火了很久了,

但是我现在才有空开始看

该说不说,真的很上头!!!

大嫂简直就像是干枯沙漠里的玫瑰

让人眼前一亮哇~~

我小熊猫此时此刻就成为大嫂的单推人!!!

源码、素材python永久安装包:点击此处跳转文末名片获取

那我做个绝美日历,总不过分叭(呲溜呲溜~)

在这里插入图片描述


如何实现

代码涉及到两部分内容:

  • 日历信息

  • 文字添加到图片中

calendar库

calendar模块,即日历模块,提供了对日期的一些操作方法,和生成日历的方法。

calendar.isleap(year):如果是闰年返回True,否则为false

calendar.calendar(year, w=5, l=1, c=6, m=1)

返回一个多行字符串格式的year年年历。

calendar.firstweekday( ):

返回当前每周起始日期的设置。默认,首次载入caendar模块时返回0,即星期一。

calendar.setfirstweekday(weekday):

设置每周的起始日期码。0(星期一)到6(星期日)。

calendar.month(year,month,w=2,l=1):

返回一个多行字符串格式的year年month月日历。

咱们上面壁纸中用到的日历信息都来自calendar。

PIL库

Pillow 是 Python 中较为基础的图像处理库,主要用于图像的基本处理,比如裁剪图像、调整图像大小和图像颜色处理等。

Pillow 支持广泛的图像格式,它还支持图像格式之间的相互转换。

总之, Pillow 几乎能够处理任何格式的图像。


代码要点展示

指定字体

from PIL import Image,ImageDraw,ImageFont,ImageFilter 
#simhei.ttf
zt = r"C:/Windows/Fonts/方正粗黑宋简体.ttf" 

打开初始文件

def tianzi (pic,site,txt,path):image = Image.open(pic)

print (‘原图长宽:’,image.size)

font = ImageFont.truetype(zt,100)#20 

创建Draw对象:

draw = ImageDraw.Draw(image)

输出文字(可以连续写入):

draw.text(site,txt,font=font,fill='#9900cc')
image.save(path)

距离左上角距离

if _name_ == '_main_':pic = r'src\2.jpg'site = (150,200)

保存路径

path = r'dest\test2. jpg'
from PIL import Image,ImageDraw,ImageFont,ImageFilter 
zt = r"C:/Windows/Fonts/方正粗黑宋简体.ttf" def tianzi (pic,site,txt,path):image = Image.open(pic)font = ImageFont.truetype(zt,100)draw = ImageDraw.Draw(image)draw.text(site,txt,font=font,fill='#9900cc')image.save(path)if _name_ == '_main_':pic = r'src\2.jpg'site = (150,200) txt = 'Python学习交流抠裙540305994'path = r'dest\test2. jpg' tianzi (pic,site,txt,path)

图片素材 【部分展示】

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


效果展示

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇

相关文章:

python程序员狂飙上头——京海市大嫂单推人做个日历不过分吧?

嗨害大家好鸭!我是小熊猫~ 这个反黑剧其实火了很久了, 但是我现在才有空开始看 该说不说,真的很上头!!! 大嫂简直就像是干枯沙漠里的玫瑰 让人眼前一亮哇~~ 我小熊猫此时此刻就成为大嫂的单推人&…...

浅谈子网掩码、IP地址、网络地址之间关系

文章目录一、什么是子网掩码二、给定IP地址,如何求网络地址网络标识(net-id)和主机标识(host-id)计算步骤三、CIDR地址表示方法(Classless Inter Domain Routing)四、IP地址与MAC地址一、什么是子网掩码 在TCP/IP协议…...

前端优化的解决方案

能缓存的,尽量强缓存。减少HTTP请求数 使用外部引入的css和js文件,并且引入的css和js越少越好使用雪碧图(精灵图)img计算缩放也需要时间,使用base64编码将较小图片嵌入到样式表中,减少请求数因为iframe会阻…...

PYthon组合数据类型的简单使用

Python的数据类型有两种,基本数据类型和组合数据类型,组合数据类型在Python的使用中特别重要。 1.组合数据类型的分类: 2.序列类型 序列类型中元素存在顺序关系,可以存在数值相同但位置不同的元素。序列类型支持成员关系操作符&…...

【Java】P2 基础语法与运算符

Java 基础语法 运算符Java注释方法基本数据类型驼峰命名法Scanner类基本运算除法隐式转换逻辑运算符 以及 短路逻辑运算符三元运算符前言 上一节内容涵盖Java的基础知识,包含安装下载,JDK与JRE等。 链接:https://blog.csdn.net/weixin_43098…...

【并发基础】Java中线程的创建和运行以及相关源码分析

目录 一、线程的创建和运行 1.1 创建和运行线程的三种方法 1.2 三者之间的继承关系 二、Thread类和Runnable接口的区别 2.1 Runnable接口可以实现线程之间资源共享,而Thread类不能 2.2 实现Runnable接口相对于继承Thread类的优点 三、实现 Runnable 接口和实现 Call…...

Spark Shuffle

Shuffle : 集群范围内跨节点、跨进程的数据分发 分布式数据集在集群内的分发,会引入大量的磁盘 I/O 与网络I/O在 DAG 的计算中,Shuffle 环节的执行性能是最差的 , 会消耗所有类型的硬件资源 (CPU、内存、磁盘、网络) Spark 2.0 后,将 Shuff…...

Linux/MacOS 生成双击可执行文件

双击可执行文件包含两种:终端shell脚本 Unix可执行文件 1.终端shell脚本 随意新建一个文件(可使用command键N,前提是有已打开的文件),输入shell格式的测试代码,比如: #! /bin/sh echo “h…...

Ubuntu三种拨号方法

1.宽带拨号(PPPoE) (1)打开连接。关闭以太网连接,打开有线连接设置,取消勾选“自动连接”选项。 (2)配置连接。在终端输入命令sudo pppoeconf,会看到一系列配置信息,包括用户名、密码,配置完成后会有一些提示信息&…...

Vue-router的引入和安装

什么是Vue-Router?Vue路由器是Vue.js的官方路由器,它与Vue.js核心深度集成,使用Vue轻松构建单页应用程序变得轻而易举。功能包括:嵌套路线映射动态路由模块化,基于组件的路由器配置路由参数,查询&#xff0…...

无线WiFi安全渗透与攻防(四)之kismet的使用

系列文章 无线WiFi安全渗透与攻防(一)之无线安全环境搭建 无线WiFi安全渗透与攻防(二)之打造专属字典 无线WiFi安全渗透与攻防(三)之Windows扫描wifi和破解WiFi密码 kismet 如果要进行无线网络渗透测试,则必须先扫描所有有效的无线接入点。刚好在Kali Linux中&am…...

2023新版PMP考试有哪些变化?

对于2022年很多事情也都在发生,疫情也都没有完全结束,基金会已经开始通知下一场考试了,很多人也会担心新的考纲会不会给自己带来难度,其实这次六月份的考试很多人都内心已经知道了结果,所以这里也详细说一下新考纲的改…...

P8074 [COCI2009-2010#7] SVEMIR 最小生成树

[COCI2009-2010#7] SVEMIR 题目描述 太空帝国要通过建造隧道来联通它的 NNN 个星球。 每个星球用三维坐标 (xi,yi,zi)(x_i,y_i,z_i)(xi​,yi​,zi​) 来表示,而在两个星球 A,BA,BA,B 之间建造隧道的价格为 min⁡{∣xA−xB∣,∣yA−yB∣,∣zA−zB∣}\min\{|x_A-x_…...

10种常见网站安全攻击手段及防御方法

在某种程度上,互联网上的每个网站都容易遭受安全攻击。从人为失误到网络罪犯团伙发起的复杂攻击均在威胁范围之内。 网络攻击者最主要的动机是求财。无论你运营的是电子商务项目还是简单的小型商业网站,潜在攻击的风险就在那里。 知己知彼百战不殆&…...

为什么我选择收费的AdsPower指纹浏览器?

在决定开始用指纹浏览器之前,龙哥让我们团队的运营小哥找了市面上很多产品去测试。最后,还是决定用AdsPower。每个人的使用感受都不一样,龙哥就说说几个用得顺手的几个点。一、指纹环境强大 双内核引擎 市面上指纹浏览器内核都是基于谷歌Chro…...

Java输入输出和数组

一、问答题 1. 如何声明和创建一个一维数组&#xff1f; Int i[]new int[3] 2. 如何访问数组的元素&#xff1f; Int a[]new int a[3] for (int x0;x<a.length;x){ System.out.print(i[x]); } System.out.println(); 3.数组下标的类型是什么&#xff1f;最小的下标是什…...

这些免费API帮你快速开发,工作效率杠杠滴

一、短信发送 短信的应用可以说是非常的广泛了&#xff0c;短信API也是当下非常热门的API~ 短信验证码&#xff1a;可用于登录、注册、找回密码、支付认证等等应用场景。支持三大运营商&#xff0c;3秒可达&#xff0c;99.99&#xff05;到达率&#xff0c;支持大容量高并发。…...

干货|最全PCB布线教程总结,14条PCB布线原则技巧,保姆级搞定PCB布线

1、坚持手动布线&#xff0c;慎用自动布线2、了解制造商的规格3、合适的走线宽度4、迹线之间留出足够的空间5、元器件放置6、保持模拟和数字走线分开7、接地层8、走线和安装孔留有足够的空间9、交替走线方向10、避免电容耦合11、放置散热孔和焊盘12、接地和电源走线13、利用丝印…...

编程快捷键和markdown语法小计

Data Structure FQA文章目录1.idea快捷键汇总2.markdown一些常用语法1.idea快捷键汇总 altenter  快捷生成变量 altInsert可以新建类&#xff0c;文件&#xff0c;get或set方法&#xff0c;此快捷键又名创造一切 编辑区和文件区的跳转。 alt 1  &#xff1a;编辑区跳转至…...

内网vCenter部署教程二,最全的了!

一、组网说明 vCenter组网最佳实践 每台服务器需要6个网口,需要三个分布式交换机,每个交换机分配2个物理网卡做冗余,分别做为管理网络、业务网络、高可用网络使用。另vsan网络和vmotion网络可以复用业务网络或管理网络,vcenter HA需要单独用一个网络。 二、创建管理网络…...

2023-3-2 刷题情况

迷宫 题目描述 这天, 小明在玩迷宫游戏。 迷宫为一个 nn 的网格图, 小明可以在格子中移动, 左上角为 (1,1), 右 下角 (n,n) 为终点。迷宫中除了可以向上下左右四个方向移动一格以外, 还有 m 个双向传送门可以使用, 传送门可以连接两个任意格子。 假如小明处在格子 (x1,y1)(…...

Docker SYS_ADMIN 权限容器逃逸

1.漏洞原理Docker容器不同于虚拟机&#xff0c;它共享宿主机操作系统内核。宿主机和容器之间通过内核命名空间&#xff08;namespaces&#xff09;、内核Capabilities、CGroups&#xff08;control groups&#xff09;等技术进行隔离。若启动docker容器时给主机一个--cap-addSY…...

【Kotlin】 yyyy-MM-dd HH:mm:ss 时间格式 时间戳 全面解读超详细

时间格式 时间格式(协议)描述gg时期或纪元。y不包含纪元的年份。不具有前导零。yy不包含纪元的年份。具有前导零。yyyy包含纪元的四位数的年份。M月份数字。一位数的月份没有前导零。MM月份数字。一位数的月份有一个前导零。MMM月份的缩写名称&#xff0c;在AbbreviatedMonthN…...

git repack多包使用及相关性能测试

1、git数据结构 git 中存在四种数据结构&#xff0c;即object包含四种&#xff0c;分别是tree对象、blob对象、commit对象、tag对象 1.1 blob对象 存储文件内容&#xff0c;内容是二进制的形式&#xff0c;通过SHA-1算法对文件内容和头信息进行计算得到key(文件名)。 如果一…...

QT获取dll库文件详细信息

一、需求背景获取软件下依赖的dll库的版本信息&#xff0c;如下图所示版本为1.0.7.1018二、实现方法2.1步骤windows下实现&#xff0c;基于version.lib(version.dll)提供的函数获取这些信息首先使用GetFileVersionInfoSizeA(W)获取VersionInfo的大小&#xff0c;申请缓冲区&…...

常见的电脑运行卡顿原因及解决方法

大家在日常使用电脑过程中&#xff0c;会发现多开几个文件就卡顿&#xff0c;其实很多时候都跟C盘长期不清理有关&#xff0c;C盘的内存被下载的软件安装包、页面文件、休眠文件、更新文件等一系列的文件占据。大的文件甚至能占到20-30G&#xff0c;驱动人生就为大家带来几种解…...

案例08-让软件的使用者成为软件的设计者

一&#xff1a;背景介绍 对于需求的开发每天可能都会有上线的情况&#xff0c;为了防止每次上线拉取代码或者修改配置而引发的冲突以及发生了冲突应该找谁一起确定一下代码留下那一部分的情况。所以在开发的群中会有一个表格来记录每个需求上线修改的环境、是否修改数据库、是否…...

QinQ与Vlan Mapping讲解

目录 QinQ Vlan扩展 QinQ实现方式 QinQ实验配置 Vlan Mapping Vlan映射 映射方式 配置命令 QinQ Vlan扩展 QinQ全称为802.1Q-in-802.1Q&#xff0c;为Vlan扩展技术&#xff0c;在802.1Q标签报文的基础上再增加一层802.1Q标签&#xff0c;实现扩展Vlan空间&#xff1b;可…...

golang 获取token方法

package main import ( "fmt" "time" "github.com/dgrijalva/jwt-go" ) const ( SECRETKEY "202203021124355xxx" //私钥 ) // 自定义 Claims type CustomClaims struct { UserId int64 jwt.StandardClaims } func main() { //生…...

【数据库专题】数据库Mongodb之深入认知云计算三种服务方式、mongodb特点、mongodb重要进程 mongod、mongo、其他进程区别

文章目录一、什么是云计算1. IaaS:基础设施即服务2. SaaS:软件即服务3. PaaS:平台即服务二、大数据与云计算关系三、什么是MongoDB四、大数据与MongoDB五、MongoDB特点六、安装MongoDB七、重要进程介绍7.1 mongod进程7.2 mongo进程7.3 其他进程7.3.1 mongodump重建数据库7.3.2 …...

网站引入百度地图/网络推广怎么推广

一.管理输入和输出 在系统中利用普通用户执行命令’find /etc -name passwd’&#xff0c;由于普通用户权限问题&#xff0c;将会出现两种输出&#xff1a;正确输出和错误输出 因为student用户权限问题会有以下输出find: ‘/etc/pki/CA/private’: Permission denied ##没有进…...

做视频的软件模板下载网站有哪些内容/优化设计四年级上册语文答案

近日&#xff0c;由深度学习技术及应用国家工程实验室与百度联合发起的 AICA&#xff5c;首席 AI 架构师培养计划第五期正式结业。经过为期半年的学习&#xff0c;最终来自中国石油、中国四维测绘、中国石化、霍尼韦尔、中国海油、法国电信、中国东方航空、中国铁塔等企业的57位…...

asp.net空网站/长沙百度贴吧

文章目录基础知识ASCII 码汉字编码基础知识 C语言使用char类型保存字符。一个char类型字符占用一个字节。 字节是一个八位的存储单元&#xff0c;每一位是0或者1&#xff0c;所以一个包含8位的字节有2的8次幂共256种组合。每种不同组合就表示不同字符。 00000000到11111111也…...

什么网站可做浏览器首页/网站开发培训

11月17日&#xff0c;阿里巴巴集团发布2023财年二季度财报。于2022年9月30日止季度&#xff0c;抵销跨分部交易前&#xff0c;菜鸟本季度营业收入同比增长26%至182.82亿元&#xff0c;外部收入占比进一步提升至73%。通过持续建设高质量的产业互联网&#xff0c;做全球化的长期主…...

dede 门户网站/推广产品的方法和步骤

共回答了13个问题采纳率&#xff1a;84.6%172.19.52.128/26代表该网段为172.19.52.128-172.19.52.191&#xff0c;段内2^8/2^(26-3*8)64个IP地址&#xff0c;划分为两个16IP地址的子网&#xff0c;一个32IP地址的子网&#xff0c;三个子网分别为172.19.52.128/28、172.19.52.14…...

热水器网站建设 中企动力/郴州网站推广

因为在前两个月的工作中&#xff0c;使用PPT的次数较多&#xff0c;所以这里准备继续写一下这个PPT2010的文章&#xff0c;不过之前通过标签搜索&#xff0c;我发现了两篇不错的介绍在PPT中插入视频的文章&#xff0c;这里给大家推荐一下&#xff0c;同时我这篇文章主要写一下那…...