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

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

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

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

实现步骤

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

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

1、准备工作

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

pip install Pillow
# 兄弟们学习python,有时候不知道怎么学,从哪里开始学。掌握了基本的一些语法或者做了两个案例后,不知道下一步怎么走,不知道如何去学习更加高深的知识。
# 那么对于这些大兄弟们,我准备了大量的免费视频教程,PDF电子书籍,以及源代码!
# 还会有大佬解答!
# 都在这个q群里了 279199867
#  欢迎加入,一起讨论 一起学习!

 

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图片。

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

来看看图片是什么样子的

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

重新绘制图片

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

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')

 

再来看看生成的图片

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

图片合并

然后我们把两张图片合并

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')

 

看看效果如何

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

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

3、实战演练

思路大致分三步

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

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

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

实现代码

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) >> 1

char_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')

 

我们看下效果图

程序员最浪漫的表白方式,将情书写在她的照片里,Python简直太厉害啦~
生成的图片超过C站上传最大限制,所以不能上传原图,只能截个图看看效果了:

程序员最浪漫的表白方式,将情书写在她的照片里,Python简直太厉害啦~
放大版的,还可以放大,我就不放到最大了。

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

程序员最浪漫的表白方式,将情书写在她的照片里,Python简直太厉害啦~
这要是看不清楚的话,大家可以自己去试试,放到最大。

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

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

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

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:程序员最浪漫的表白方式,将情书写在她的照片里,Python简直太厉害啦~ - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • 重温Python基础——变量

    哈喽兄弟们,今天我们来复习下变量。 首先尝试在一个hello_world.py文件中使用变量,在文件开头添加一行代码,并对第二行代码进行修改,如下所示: message=”hello world” print(message) # Python源码/教程领取扣君羊:279199867 运行这个程序,会与 print(“hello world”) 相同。 我们…

    Python开发 2023年4月2日
    00
  • 毕业设计经典案例:Python实现疫苗接种数据库管理

    那一年过年前,疫情开始爆发,对全国人民的生活和工作造成了严重的影响。但凭借着国家强盛的实力,新冠疫苗也很快的被技术人员研发出来,人们通过接种新冠疫苗来抵御新冠病毒的危害。本次通过接种新冠疫苗的这个数据统计,来设计“疫苗接种数据库”,存储人们接种疫苗的相关信息,并实现“增删改查”等基本操作以及其他的拓展功能。 国内新冠疫苗人员接种后,如果不通过数据统计到数据库…

    Python开发 2023年4月2日
    00
  • 8条非常实用的python代码案例,初学者必备知识点!

    给大家推荐八个非常实用的Python案例,希望大家看过后能够有所收获! 1、合并两个字典 Python3.5之后,合并字典变得容易起来,我们可以通过**符号解压字典,并将多个字典传入{}中,实现合并。 def Merge(dict1,dict2): res = {**dict1,**dict2} return res # 两个字典 # Python学习交流1…

    Python开发 2023年4月2日
    00
  • 这个Python读取文件的方法,堪称天花板级别…

    序言 哈喽兄弟们,今天咱们来了解一下 fileinput 。 说到fileinput,可能90%的码农表示没用过,甚至没有听说过。 这不奇怪,因为在python界,既然open可以走天下,何必要fileinput呢? 但是,今天我还是要介绍fileinput这个方法,因为太奈斯了。 不止是香。是真香! 接下来,就跟着我,一起fileinput,对,就是这个f…

    Python开发 2023年4月2日
    00
  • 未婚妻晚安之后依然在线,于是我用20行代码写了个小工具

    最近发现未婚妻一到晚上总是很忙的样子,每晚匆匆忙忙道过晚安就不说话了。 可是,QQ头像却会偶尔亮起来,我非常担心,是不是账号被盗了呢?然后,就想帮未婚妻排查一下,于是就用python写了一个录制脚本,悄悄装在她电脑上~ 模块安装 本次咱们需要用到这两个模块 win32gui PyQt5 流程思路 1、通过win32gui模块,调用windows系统的截屏功能…

    Python开发 2023年4月2日
    00
  • python语法到底多精妙?八大核心语句,带你深度了解

    Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for – el…

    Python开发 2023年3月31日
    00
  • 14个Python处理Excel的常用操作,我先试过了,非常好用

    自从学了Python后就逼迫用Python来处理Excel,所有操作用Python实现。目的是巩固Python,与增强数据处理能力。这也是我写这篇文章的初衷。废话不说了,直接进入正题。 数据是网上找到的销售数据,长这样: 一、关联公式:Vlookup vlookup是excel几乎最常用的公式,一般用于两个表的关联查询等。所以我先把这张表分为两个表。 df1…

    Python开发 2023年3月31日
    00
  • 程序员即将失业?ChatGPT正在取代各位!

    最近OpenAI的ChatGPT真的是到处都在刷屏,我想你已经看过很多关于ChatGPT的文章或者视频了,我就不过多介绍了。 不过你碰巧还不知道的话,可以先百度一下,然后再回来继续。 与ChatGPT对话很有趣,甚至很有启发性。有人用它聊天,有人用它写代码,太多省时省力的工作,都可以由它完成,我们的内容创作部门已经将ChatGPT用于文案生成。那么对研发,C…

    Python开发 2023年3月31日
    00
合作推广
合作推广
分享本页
返回顶部