首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PIL库打印的文本没有最佳定义。

PIL库打印的文本没有最佳定义。
EN

Stack Overflow用户
提问于 2015-08-23 13:33:13
回答 1查看 103关注 0票数 1

我创建了一个Python代码,它使用PIL库在图像上打印文本,代码非常完美,但是有一个问题.我使用PNG格式和蓝色文本的白色图像,文本是电子邮件,代码在图片中完美地打印邮件,但文本不太正确(例如,如果您写信给Windows油漆,因为油漆是最基本的,但是打印的PIL与打印Windows油漆的文本不完全相同,如果我们看到这幅图片,则绘制窗口的质量更好:

http://www.subeimagenes.com/img/texto-1414832.png

我们看到上面的文字是用PIL写的,下面的文字是用油漆写的,虽然差别很小,但我想让它完全像Windows画图,而事实却不一样。。我曾经是不同的,相同的源代码,没有案例!直到我使用了值为100的quality属性,但上面的文本显示的质量不如下面的文本,如果仔细看,您会发现,正如我所说的,质量是不一样的,PIL文本的质量用于打印比油漆质量低的文本。

更重要的是..。好像是另一个来源..。这是完全一样的,事实是,我不喜欢,我不知道是否有任何方式,文字打印有更好的质量,或PIL是最好的定义为油漆。

这是我目前的代码:

代码语言:javascript
复制
imagen = Image.open("img.png")
img = imagen.resize((175, 60))
draw = ImageDraw.Draw(img)
font = ImageFont.truetype("Verdana.ttf", 15)
draw.text((10, 4),"mimail@hotmail.com",(0,79,255),font=font)
img.save('texto.png', format='PNG', subsampling=0, quality=100)

谢谢!:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-23 14:11:49

您可以尝试将图像呈现到所需大小的倍数,然后将其与resize一起filter=Image.ANTIALIAS

下面是一个使用大小调整因子为2的示例:

代码语言:javascript
复制
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont

imageSize = (400,100) # 2x size of the image you originally wanted.

img = Image.new("RGB", imageSize, "white")
draw = ImageDraw.Draw(img)
font = ImageFont.truetype("Verdana.ttf", 15 * 2) # 2x of the font you wanted.
draw.text((10, 4),"mimail@hotmail.com",(0,79,255), font=font)

# downsample with Antialias by 2
img.thumbnail( (imageSize[0]/2, imageSize[1]/2), Image.ANTIALIAS) 

img.save('texto.png')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32167198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档