hello,大家好,我是一灰灰,之前介绍了一篇使用她的名字来画出她的美图的文章,其中主要使用的Java来实现的,今天呢,我们再来用Python来实现一下
同样最终的代码量也不会超过三十行
1. 环境相关
这里我们选择python来作为我们的主要绘图武器,至于python的环境安装相关的这里就不介绍了,有兴趣的小伙伴自行探索
再python界,操作图片的利器PIL,相信大伙也都清楚,接下来将使用它来实现我们的目标
安装依赖
1 | pip install Pillow |
2. 基本知识点
再正式开始之前,给不太熟悉PIL操作的小伙伴,简单介绍一下它的基本用法,当然也会重点突出一下我们将采用的几个方法
2.1 加载图片
1 | from PIL import Image |
是的,就这么简单,直接使用 Image.open()
就可以读取图片了
2.2 图片基本信息获取
获取图之后,通常需要关注的几个参数,如宽高,通道
1 | width, height = img.size |
2.3 创建画板,用于编辑
如果我们想在这个图片上进行绘制信息,或者说希望创建一个空的画板,那么我们就先需要获取到一个ImageDraw对象
1 | from PIL import ImageDraw |
上面获取到draw对象之后,就可以根据它提供的各种方法,来绘制各种几何图形、文字、图片等;如果我们希望获取一个空的画板,可以怎么操作呢?
1 |
|
ImageDraw提供了很多绘图的方法,下面给出一些常用的case,就不重点叙述了
1 | new_img = Image.new("RGBA", (480, 640), (255, 255, 255, 0)) |
重点关注绘制文本这里,draw.text((x,y), "文字", "文字颜色", 字体)
, 这就是接下来要使用的方法
2.4 获取像素
如果我们希望获取指定坐标的RGB值,如下操作即可
1 | pixel = img.getpixel((x, y)) |
看到这里的小伙伴,结合前一篇博文,要想实现python版的用她的名字绘图,相信就很简单了吧
2.5 预览和保存图片
1 | # 展示图片 |
3. Python版文字绘图
接下来,进入正式的实现
1 | from PIL import Image |
依然以小黄人为例,来看下生成的效果如何
从上面的图片来看,和前面java版输出差不离,有兴趣的小伙伴动手搞起来吧;我是一灰灰,觉得不错的小伙伴给个收藏、点赞、评论支持一下呗
一灰灰的联系方式
尽信书则不如无书,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激
- 个人站点:https://blog.hhui.top
- 微博地址: 小灰灰Blog
- QQ: 一灰灰/3302797840
- 微信公众号:一灰灰blog