Python中pillow知识点学习

yipeiwu_com6年前Python基础

此系列意在记录于一些有趣的程序及对其的总结。

问题来源:

https://github.com/Yixiaohan/show-me-the-code

https://github.com/HT524/500LineorLess_CN

今天这个程序于一张图片中添加数字,类似于qq头像上的小红点,只不过这个是静态的。

首先使用的是pillow这个图像库。

总体思路是通过Image.open()打开图像,设置要绘制的信息的格式,ImageDraw.Draw()生成被修改的实例,再通过text()方法进行修改。

程序如下:

from PIL import Image, ImageDraw, ImageFont


def pic_add_num(image):
  my_font = ImageFont.truetype(r"C:\windows\Fonts\simsun.ttc", size=40)
  color = "red"
  width, height = image.size
  position = (width-40, 0)
  draw = ImageDraw.Draw(image)
  
  draw.text(position, "99", font=my_font, fill=color) 
  image.save("add_num.jpg")

if __name__ == "__main__":
  img = Image.open("universe.jpg")
  pic_add_num(img)

相关文章

详解python中requirements.txt的一切

简介 Python项目中必须包含一个 requirements.txt 文件,用于记录所有依赖包及其精确的版本号。以便新环境部署。 主要的写法如下所示 pip freeze >...

修改Python的pyxmpp2中的主循环使其提高性能

引子 之前clubot使用的pyxmpp2的默认mainloop也就是一个poll的主循环,但是clubot上线后资源占用非常厉害,使用strace跟踪发现clubot在不停的poll,...

Python 3.x 连接数据库示例(pymysql 方式)

Python 3.x 连接数据库示例(pymysql 方式)

由于 MySQLdb 模块还不支持 Python3.x,所以 Python3.x 如果想连接MySQL需要安装 pymysql 模块。 pymysql 模块可以通过 pip 安装。但如果...

Django进阶之CSRF的解决

Django进阶之CSRF的解决

简介 django为用户实现防止跨站请求伪造的功能,通过中间件 django.middleware.csrf.CsrfViewMiddleware 来完成。而对于django中设置防跨站...

Numpy的简单用法小结

Numpy的简单用法,下面就一起来了解一下 import numpy as np 一、创建ndarray对象 列表转换成ndarray: >>> a = [1...