前言

我的好兄弟们,2022年可算是过去了,这不马上要过年了吗

就是说,各位兄弟有对象了吗,没有的回家还要面对亲戚的各种提问

退一步来说,有心仪的人吗,如果有的话,就来看看这篇 程序员的表白小妙招吧

咳咳,这里还是要准备好一张照片的哈,我就直接拿表情包了,你们应该拿什么照片自己心里还是有数的吧

实现步骤

想要实现把情书写在像素中,那么我们就需要用到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图片。

来看看图片是什么样子的

重新绘制图片

完整 源码 点击 此处 领取 即可

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

python学习交流Q群:309488165 ### 源码领取
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 = 'C:/小圆/python学习交流Q群:309488165.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站上传最大限制(我这张图46M哈哈哈,给你们看看我男神)

所以不能上传原图,只能截个图看看效果了:

放大版的,还可以放大

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

大家可以自己去试试,放到最大。

最后

朋友们学习python,有时候不知道怎么学,从哪里开始学。掌握了基本的一些语法或者做了两个案例后,不知道下一步怎么走,不知道如何去学习更加高深的知识。
那么对于这些朋友们,我准备了大量的免费视频教程,PDF电子书籍,以及源代码!直接在文末名片自取即可哦!

今天的分享到这里就结束了

顺便给大家推荐一些Python视频教程,希望对大家有所帮助:

Python零基础教学合集

对文章有问题的,或者有其他关于python的问题,可以在评论区留言或者私信我哦
觉得我分享的文章不错的话,可以关注一下我,或者给文章点赞(/≧▽≦)/

Python实现照片里添加文字相关推荐

  1. python向图片里添加文字

    #!/usr/bin/python #-*-coding:utf-8-*- from PIL import Image,ImageDraw,ImageFontdef main():#python创建图 ...

  2. 苹果手机怎么在照片上添加文字_手机照片如何添加文字?原来方法这么简单,花1分钟手把手教...

    手机照片如何添加文字?原来方法这么简单,花1分钟手把手教 最近很多人私信笔者,手机拍摄的照片怎样添加好看的文字,今天笔者准备了4种方法,一起来看看吧! 1.自带水印功能(安卓手机) 一般人都是直接拍照 ...

  3. 如何在视频里添加文字?3个方法教你给视频添加文字

    在现今数字化的社会中,视频已经成为了我们生活和工作中不可或缺的一部分,而在视频制作和编辑过程中,添加文字是一个非常常见的操作,尤其是在一些商业和宣传广告视频中.例如当我们需要制作一个介绍产品或服务的视 ...

  4. 该如何在视频里添加文字呢?推荐3个视频加文字的方法

    字幕是一个视频或电影中相当重要的一部分,方便我们更加容易看懂视频所要表达的意思.我们在日常生活中拍摄视频也想添加字幕,那我们该如何在视频里添加文字呢?接下来由我分享几个易上手的方法. 方法一:借助视频 ...

  5. 一、python+PIL给图片添加文字水印

    python+PIL给图片添加文字水印 最近需要给同一张图片添加不同的水印保存,在网上搜了很多,也不是很有效,在这儿记录一下我运行正确无误的代码,方便自己以后查看: #读取文件每一行,写到图片中间位置 ...

  6. 苹果手机怎么在照片上添加文字_手机照片如何添加文字?原来方法这么简单,手把手教你学会。...

    微信支付的安全措施:一.使用手机自带的图片编辑功能: 1,打开图库或相册,找到要添加文字的照片,点开图片,然后点击图片下方的"编辑",在弹出的选项中找到"标注" ...

  7. 苹果手机怎么在照片上添加文字_要给照片快速添加文字、图框、印章,用这款手机软件比较方便...

    现在手机的拍照功能越来越先进,人们走到哪儿,都会随拍几张照片,那么,如何后期才能让照片更加的赏心悦目呢?主要从添加文字.漂亮的文字排版.添加相框.以及添加印章元素等几个方面去处理.比如像下面几张照片的 ...

  8. python在图片上添加文字 - cv2模块的安装与使用

    一.cv2的安装 一般来说,在pycharm中安装包的方式如下: 点击"+"之后,在搜索框中输入"cv2",点击下方的"Install package ...

  9. python给批量图片添加文字 脚本,Python实现图片添加文字

    在工作中有时候会给图上添加文字,常用的是PS工具,不过我想通过代码的方式来给图片添加文字. 需要使用的Python的图像库:PIL.更加详细的知识点如下: Imaga模块:用来创建,打开,保存图片文件 ...

最新文章

  1. centos php5.3 yum 安装 php53-mcrypt
  2. 实时获取ccd图像_四元数数控:CCD视觉检测定位系统在玻璃瓶缺陷的检测
  3. docker Gitlab14.5.0 安装、配置、部署、使用
  4. Python 第二篇:python字符串、列表和字典的基本操作方法
  5. 测试面试题集-Linux常用命令
  6. html加了文档声明之后页面错乱,为登陆页面扩展和配置设计导入程序
  7. 20171130C语言知识点梳理
  8. viiv个人计算机,欢娱尽情 欢跃平台PC导购
  9. Android应用开发进阶,2021Android最新大厂面试真题
  10. java基于springboot+vue的旧物置换网站
  11. 计算机机设应用基础,计算机机应用基础–word.ppt
  12. python数字的表示
  13. 新职业教育的三节课,凭什么做到今天这样
  14. Android组件化架构实践,成功拿下大厂offer
  15. SEO怎么做?SEO的具体流程是什么?
  16. STM32的SRAM
  17. python连通图_用python实现无向图的连通性判断
  18. 线性稳压器与开关稳压器的对比分析
  19. CSS之关于min-width、max-width、min-height和max-height的使用
  20. 【云和恩墨大讲堂】李真旭:动手为王 - 整合迁移与数据恢复实践

热门文章

  1. 我的职业观——HP大中华区总裁孙振耀退休感言
  2. Transformer基础
  3. 从零开始的种田生活-Unity游戏开发
  4. C++中的friend class 用法总结
  5. 在职场需看懂的几种表现
  6. 37本国产SCI期刊推荐!涵盖9大领域,建议收藏!①
  7. vivado编译出错 [Synth 8-729] [Synth 8-787]解决方法
  8. 【作业2.0】HansBug的5-7次OO作业分析与小结,以及一些个人体会
  9. 抓取高德POI数据,并使用MySQL建立本地空间数据库(一)
  10. win8\win server 2012添加【中文--美式键盘】