python如何在图片上添加文字_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')

1

2

3

4

5

6

7

8

9

fromPILimportImage,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')

1

2

3

4

5

6

7

8

9

fromPILimportImage,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')

1

2

3

4

5

6

7

8

9

fromPILimportImage,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')

1

2

3

4

5

6

7

8

9

10

11

12

13

fromPILimportImage,ImageDraw,ImageFont

defadd_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')

1

2

3

4

5

6

7

8

9

10

11

12

13

fromPILimportImage,ImageDraw,ImageFont

defadd_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')

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

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

原文转自:https://www.it610.com/article/1294563129530851328.htm

作者:-瀚-

本文链接:http://www.yunweipai.com/36976.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值