用Python做一个情人节表白神器
思路来自于「Python 编程时光」,我在其之上改进了一下,主要是通过tkinter编写一个界面方便使用,大家可以关注「Python 编程时光」这一良心公众号。 本文最后给出了打包好的软件,无需安装Python环境和各种依赖,直接下载软件,解压后,双击exe文件即可使用。 先来看一下具体的效果。 运行程序。 点击「选择图片」 选择JPG/JPGE/PNG三种中任意一种格式的图片,然后点击生成表白图片则可。 比如我选择了一张「进击的巨人」图片,其生成效果如下。 将图片放大看看,会发现图片全部由「我喜欢你!」构成。 编码时刻 我们知道图片由不同的像素组成,每个像素都有自己的颜色,通过RGB来表示,如图。 (图出自 easyai) RGB本身就是一个数组:(a,b,c),数组中的每一位的取值范围都是0~255,比如黑色可以通过(0,0,0)来表示。 我只需要将图片中每个像素的RGB值都取出,并使用这个RGB值作为字体的颜色则可,这样生成的图片从远处来看依旧会是原本图像的轮廓。 有了具体的思路,就可以编写代码了。完整代码在文末,这里先看关键代码片段理解思路。 在Python中可以通过PIL来实现对图片的各种操作。 首先安装一下PIL。 pip install pillow PIL消极维护,一群爱好者fork了PIL的代码,并在其之上进行维护与修改,fork后的代码项目称为pillow。