Python中pillow知识点学习

yipeiwu_com5年前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编程实现粒子群算法(PSO)详解

Python编程实现粒子群算法(PSO)详解

1 原理 粒子群算法是群智能一种,是基于对鸟群觅食行为的研究和模拟而来的。假设在鸟群觅食范围,只在一个地方有食物,所有鸟儿看不到食物(不知道食物的具体位置),但是能闻到食物的味道(能知道...

python @propert装饰器使用方法原理解析

这篇文章主要介绍了python @propert装饰器使用方法原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 首先,@prop...

在Python中封装GObject模块进行图形化程序编程的教程

在Python中封装GObject模块进行图形化程序编程的教程

Python 是用于编码图形界面的极佳语言。由于可以迅速地编写工作代码并且不需要费时的编译周期, 所以可以立即使界面启动和运行起来,并且不久便可使用这些界面。 将这一点与 Python...

Python探索之自定义实现线程池

为什么需要线程池呢?         设想一下,如果我们使用有任务就开启一个子线程处理,处理完成后,销毁子线程或等...

Python-opencv 双线性插值实例

我就废话不多说了,直接上代码吧! #coding=utf-8 import cv2 import numpy as np '''双线性插值''' img = cv2.imread('...