程序员最浪漫的表白方式,将情书写在她的照片里,Python简直太厉害啦~

人生苦短,我用Python

  • 序言
  • 实现步骤
      • 1、准备工作
      • 2、Pillow 介绍
      • 3、实战演练

序言

这不光棍节快到了,表弟准备写一封情书给他的女神,想在光棍节之前脱单。


为了提高成功率,于是跑来找我给他参谋参谋,本来我是不想理他的,不过谁让他是我表弟呢(请我洗jio),于是教给他程序员的终极浪漫绝招,先假装给女神拍照,然后再把情书写到她的照片上打印出来送给她,嘿嘿~

实现步骤

想要实现把情书写在像素中,那么我们就需要用到pillow这个神器。

众所周知,图片是由无数个像素所组成的,把图片无限放大,就会看到一个个小方格,这就是像素。

1、准备工作

我们都知道,针对图片进行操作,就会用到Pillow这个库,因为Pillow 是第三方库,所以在使用前,我们要使用pip进行安装。

pip install Pillow

2、Pillow 介绍

安装完成后,我们先来简单介绍几个常用示例

新建及保存图片

from PIL import Image#创建一张新的图片:mode 为RGB,size :520x520 ,color :0,100,200
img = Image.new('RGB',(520,520),(255,192,203))# 保存图片
img.save('img.jpg')

运行代码,可以看到,在默认路径自动创建一张img.jpg图片。

来看看图片是什么样子的


粉粉嫩嫩的,就是它了~

重新绘制图片

我们在上面生成的图片中,画两条线

from PIL import Image,ImageDraw#创建一张新的图片
#img = Image.new('RGB',(520,520),(0,100,200))
#img.save('img.jpg')#直接打开生成的img.jpg图片
img = Image.open('img.jpg')#取得绘图对象,需要绘制对角线
draw = ImageDraw.Draw(img)#绘制对角线
draw.line((0,0,img.size[0],img.size[1]),fill = 128 ,width = 2)
draw.line((0,img.size[1],img.size[0],0),fill = 128 ,width = 2)
#保存图片
img.save('img-line.jpg')

再来看看生成的图片


莫得问题

图片合并

然后我们把两张图片合并

from PIL import Image#直接打开img.jpg图片
img = Image.open('img.jpg')#创建一个小的图片
img_small = Image.new('RGB',(30,30),'yellow')#把img_samll 黏贴在 img.jpg图片的 的20x20的位置
img.paste(img_small,(20,20))#保存新生成的图片
img.save('img-paste.jpg')

看看效果如何

确认过眼神,是我要的效果~

3、实战演练

思路大致分三步

1、先创建基本的信息:文案内容,像素尺寸,字体类型,图片路径;
2、创建小图来填充内容,在创建大图状态填充好的小图内容;
3、循环遍历图片的内个像素点,把文字黏贴上去。

我们来看看巳月的女神照片:

实现代码

from  PIL import Image,ImageDraw,ImageFont#像素放大尺寸
img_king_size = 20#输入内容
text = '这是巳月的女神'
#设置字体
font = ImageFont.truetype('simsun.ttc',img_king_size)#图片路径
img_path = './king.jpg'#打开图片
img = Image.open(img_path)
img_w,img_h = img.size#创建一个小图,用于填充字体
img_child = Image.new("RGB", (img_king_size, img_king_size))
#创建一个大图,状态填充好的小图字体
img_ans = Image.new("RGB",(img_w * img_king_size,img_h * img_king_size))#获取单个文字的宽和高
text_w,text_h = font.getsize('中')
#文字水平居中
offset_x = (img_king_size - text_w) >> 1
#文字垂直居中
offset_y = (img_king_size - text_h) >> 1char_index = 0
#小图用于绘制文字
draw = ImageDraw.Draw(img_child)#循环遍历原图的每一个像素点
for x in range(img_w):for y in range(img_h):#绘制背景,让图片更好看draw.rectangle((0,0,img_king_size,img_king_size),fill = 'lightgray')#用(x,y)处的像素点的色值进行绘制字体draw.text((offset_x,offset_y),text[char_index],font = font,fill = img.getpixel((x,y)))img_ans.paste(img_child,(x * img_king_size,y * img_king_size))char_index = (char_index + 1) % len(text)img_ans.save('king-letter.jpg')

我们看下效果图


生成的图片超过C站上传最大限制,所以不能上传原图,只能截个图看看效果了:


放大版的,还可以放大,我就不放到最大了。

我这里显示的字是竖的,因为我的图片是长比宽大,改成横版照片的话,字就是横的了。


这要是看不清楚的话,大家可以自己去试试,放到最大。

今天的分享到这里就差不多结束了,最后给大家分享一些Python视频教程,希望对各位有所帮助:

Python零基础入门全套教程

Python进阶全套教程

Python实战100例

不经一番寒彻骨,哪得梅花扑鼻香;不经一番刻苦努力,哪得想要的结果;要想脱颖而出芬芳四溢,就要比别人更加努力!奥利给!

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一次10万token!GPT4最强对手史诗升级,百页资料一分钟总结完毕

号称ChatGPT“最强竞争对手”的Claude,今天迎来史诗级更新—— 模型记忆力原地起飞,现在1分钟看完一本数万字的小说,已经不在话下。 消息一出,评论区直接炸了,网友们蜂拥而至,“woc连连”: 疯了…

刚刚!全球科技巨头官宣:再裁 9000 人...

点关注公众号,回复“1024”获取2TB学习资源! 当地时间3月20日,全球科技巨头亚马逊宣布再裁员约9000人,目标瞄准薪酬更高的员工。按照美联社说法,最新宣布的这轮裁员规模为亚马逊“历史上第二大”,仅次于1月…

微信官方回应不会推出「已读」功能,网友:“这些功能先完善一下!”

整理 | 朱珂欣 出品 | CSDN程序人生(ID:coder_life) 7 月 11 日,#如果微信显示已读的话# 的话题冲上微博热搜,引发热议不断。 与此同时,「回复焦虑、社交困扰、意念回复、退网」等词眼,开始涌…

chatgpt赋能python:用Python进行选股——走进智能投资时代

用Python进行选股——走进智能投资时代 简介 投资者在股票投资中常常面临的问题是如何找到潜在的优质股票。传统的选股方法是基于人工分析和大量数据筛选,耗时又费力。而现代的使用 Python 进行选股的方法,可以将人工分析和大量数据筛选进行自动化&…

3.11 怎么增加小红书评论区的互动?【玩赚小红书】

今天就为大家总结了一下,关于小红书粉丝互动的一些小技巧,来供大家参考。 ​ ​ 一、 固好“真爱粉” 经常会在笔记下面评论、点赞、浏览笔记内容的粉丝,也就是所谓的“真爱粉”、“铁粉”,我们就需要用心维护这一部分粉丝。 ​…

无聊小知识.04 以下代码会输出什么?

1、前言 今天同事给我看了一段代码,然后这段简单的代码,我却陷入了沉思。 2、代码 String string ""; try {string "123";return string; } finally {string "234"; } 这段代码,string最终是“123”还是…

API接口设计不合理?个人和公司都有问题

前言 在软件产品或项目开发过程中,往往涉及到大量API接口的开发任务。而一个接口的诞生如果是令人费解的、痛苦折磨的以及有严重后遗症的,究其根本原因还在于设计API接口的时候不够清晰、合理以及缺乏长远考虑。我依据多位同事的问答、实际工作的经验和…

从亿点点失误,到一点点失误,我是如何做的【工作失误怎么办】

前言 只要我们还在做事,或者说还活着,就没有不犯错的时候。作为一名前端搬砖工,哪怕工作中再仔细小心,也免不了一些失误。 那这是不是说,失误很正常,改了就是嘛? 这么说好像没错。作为失误本…

2023年春季学期NLP总结作业

自然语言处理(Natural Language Processing,NLP)是计算机科学,人工智能,语言学关注计算机和人类(自然)语言之间的相互作用的领域。自然语言处理是计算机科学领域与人工智能领域中的一个重要方向…

检讨怎么写?检讨范文,秘密法宝帮你一分钟速写检讨

检讨不会写,看这里,一分钟速成班教学开始 其实。。。哪有什么一分钟速成班,就是告诉你有个秘密法宝,一分钟之内帮你写出一篇检讨,你只要输入你的问题描述,包括因为什么犯了错、需要写几百字等等&#xff0…

[Android] 检讨书生成器1.0

软件介绍 软件名称:检讨书生成器 适用设备:Android 软件大小 : 10.4 M 使用说明 进入软件后在主题对话框输入,例如:上课 吃屎,字数200,即可生成检讨书,如图所示 下载链接

为啥不能用比特币给贪官送礼?

知乎上有很多脑洞,飘在天上的还好说,结合现实的也太好笑了,比如下面这个: 图源知乎 谈笑间,币圈灰飞烟灭。 ——网友热评

企业微信如何快速接入智能机器人(智能客服)?

如何让你的企业微信快速接入智能机器人,增加和员工互动的趣味性,同时解决员工各种高频问题呢? 1、首先,你需要创建一个属于自己的聊天机器人,直接注册并完成创建就可以了。 2、找到【对接渠道】,选择【企业…

工具类-21-企业微信自助QA机器人接入

文章目录 1. 需求背景2. 相关文档整理3. 接入流程演示3.1 拉群,添加机器人3.2 给机器人取个名字3.3 点击配置说明3.4 配置 接收消息配置 信息 4. 代码演示 1. 需求背景 在企业当中,经常会被多次问到相同的问题,而我们都有自己的其他需求需要…

微信中如何接入机器人才比较正常

大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。 前言 为什么会有这个话题?大家都知道最近有个AI机器人很火,那就是AI机器人,关于它的介绍,大家可以自行百度去,我这边就不多介绍了。 好多人嫌网页版玩的不过瘾,就把这个机器人接入到了QQ上,接入到了钉钉上,TG …

微信接入智能机器人回复消息

微信接入智能机器人回复消息 1 寻找智能机器人API 此处我使用的是极速数据 七款不错的聊天机器人API推荐 ①登录注册之后,直接搜索机器人 ②申请数据 ③在个人中心,找到自己的appKey ④编写代码,根据接口地址发起对应的HTTP请求即可 …

目标检测算法——YOLOv5/YOLOv7改进之结合无参注意力SimAM(涨点神器)

&#x1f496;&#x1f496;>>>加勒比海带&#xff0c;QQ2479200884<<<&#x1f496;&#x1f496; &#x1f340;&#x1f340;>>>【YOLO魔法搭配&论文投稿咨询】<<<&#x1f340; ✨✨>>>学习交流 | 温澜潮生 | 合作共赢…

chatgpt赋能Python-python_miio

Python-miio&#xff1a;探索小米智能设备的开发 Python-miio是一个开源的Python库&#xff0c;用于控制小米智能设备。小米智能设备包括智能扫地机器人、智能插座、智能空气净化器和智能灯泡等。Python-miio库支持局域网和互联网控制&#xff0c;是一个非常实用的工具&#x…

Python外星人入侵游戏——添加飞船和外星人图片

Python外星人入侵游戏是自己在《Python编程从入门到实践》在本书里学到的。本篇主要介绍该游戏中所需要的两个图片。分别为飞船和外星人图片。 1、首先去到 http://www.ituring.com.cn/book/1861 网站&#xff0c;就会看到有关Python编程从入门到实践这本书。 2、在右边有个随…

Stable Diffusion模型测试

文章目录 前言一、dqnapi 是什么&#xff1f;二、使用步骤1.本地2.在线测试 总结 前言 AI图像生成异常火爆&#xff0c;听说鹅厂都开始用AI图像生成做前期设定了&#xff0c;小厂更是直接用AI替代了原画师的岗位。这一张张丰富细腻、风格各异、以假乱真的AI生成图像&#xff0…