前言
最近有个小功能,我看来十分容易,无非就是往图片上添加个文字,但是,在服务器上,瞬间爆炸,所有的中文,都变成一个个的框框,我走了很多弯路,踩了很多坑,在这里记录一下,希望能帮助到同样遇到这个问题的人。
问题描述

代码
from PIL import Image, ImageDraw, ImageFont
image= Image.new('RGB', (559, 320),(255,255,255))
draw = ImageDraw.Draw(image)
# draw.text()
font = ImageFont.truetype("arial", 40, encoding="unic") # 设置字体
draw.text((100, 50), "哈哈哈", 'black', font)
# del draw
image.show()
解决办法
我踩了很多的坑,发现有一种及其简易的方式来解决这个问题
修改字体为simsun.ttc即可,听着简单,但是,假如身处服务器,根本没有这个字体,你需要从windows下copy过去
打开”C:\Windows\WinSxS\amd64_microsoft-windows-font-truetype-simsun_31bf3856ad364e35_10.0.18362.1_none_cd668f05ece74044
名字可能会不同,可以搜索simsun.ttc
通过连接服务器,传到服务器的
/usr/share/fonts
文件夹下,如果没有就自己建一个在此目录下,执行
#fc-cache -fv
,扫描字体目录并生成字体信息的缓存,然后应用程序就可以”立即”使用这些新安装的字体然后重启你的服务器
按照相对路径或者绝对路径来进行使用即可。
效果

- Post link: https://www.godhearing.cn/python-pil-zhong-wen-bian-fang-kuang-de-jie-jue-ban-fa/
- Copyright Notice: All articles in this blog are licensed under unless otherwise stated.