站点图标 IDC铺

python在图片中添加文字学习文档

一开始出现错误如下:

原因为0000.JPG前应该是\而不是.修改后,运行以下代码,报错:

查阅资料后,加上了字体文件的路径

运行以下代码后,仍有相同的报错

from PIL import Image, ImageDraw, ImageFont

im=Image.open("E:\\WNCG\\day day up\\0000.JPG")
draw=ImageDraw.Draw(im)
newfont=ImageFont.truetype("C:\\WINDOWS\\Fonts\\HYXiXingKaiW.ttf", 50)
draw.text((100,100),u'you are so good!',fill=(0,0,0),font=newfont)
im.show()
im.save('E:\\WNCG\\day day up\\target.jpg')

汉仪细行楷字体是我自己在网上下载安装的,发现虽然在C:\WINDOWS\Fonts中能找到该字体,但查看属性它的路径为:C:\Users\ASUS\AppData\Local\Microsoft\Windows\Fonts,在将字体路径修改为C:\Users\ASUS\AppData\Local\Microsoft\Windows\Fonts\HYXiXingKaiW.ttf后代码成功运行,在图片中打印出我喜欢的汉仪细行楷字体。

在运行以下代码后,打印成功:

from PIL import Image, ImageDraw, ImageFont

im=Image.open("E:\WNCG\day day up\0000.JPG")
draw=ImageDraw.Draw(im)
newfont=ImageFont.truetype("C:\WINDOWS\Fonts\SIMYOU.TTF", 100)
draw.text((1000,1000),u'you are so good!',fill=(0,0,0),font=newfont)
im.show()
im.save('E:\WNCG\day day up\target.jpg')

将代码改成这样,仍旧可以更换字体颜色

from PIL import Image, ImageDraw, ImageFont

im=Image.open("E:\\WNCG\\day day up\\0000.JPG")
draw=ImageDraw.Draw(im)
newfont=ImageFont.truetype("C:\\WINDOWS\\Fonts\\SIMYOU.TTF", 100)
draw.text((1000,1000),u'you are so good!',fill="red",font=newfont)
im.show()
im.save('E:\\WNCG\\day day up\\target.jpg')

运行以下代码,没有找到目的文件

from PIL import Image, ImageDraw, ImageFont

def add_text(img, str):
    im = Image.open(img)
    tfont = ImageFont.truetype("C:\\WINDOWS\\Fonts\\SIMYOU.TTF",500)
    draw = ImageDraw.Draw(im)
    # 设置 文字位置 文字内容 颜色 文字大小
    draw.text((1000,1000), str, fill=(0,0,0), font=tfont)
    im.save(img, 'jpeg')

if __name__ == '__main__':
   add_text('E:\\WNCG\\day day up\\0000.JPG', 'you are so good')

运行以下代码,文件中中成功找到目的文件

from PIL import Image, ImageDraw, ImageFont

def add_text(img, str):
    im = Image.open(img)
    tfont = ImageFont.truetype("C:\\WINDOWS\\Fonts\\SIMYOU.TTF",500)
    draw = ImageDraw.Draw(im)
    # 设置 文字位置 文字内容 颜色 文字大小
    draw.text((1000,1000), str, fill=(0,0,0), font=tfont)
    im.save('E:\\WNCG\\day day up\\target.jpg')

if __name__ == '__main__':
   add_text('E:\\WNCG\\day day up\\0000.JPG', 'you are so good')

后来尝试输入中文,也可以成功运行。

尝试换了个字体,字体是英文字体,所以中文就显示不出来,将字体换为隶书 常规,汉字正常显示。

退出移动版