我创建了一个Python代码,它使用PIL库在图像上打印文本,代码非常完美,但是有一个问题.我使用PNG格式和蓝色文本的白色图像,文本是电子邮件,代码在图片中完美地打印邮件,但文本不太正确(例如,如果您写信给Windows油漆,因为油漆是最基本的,但是打印的PIL与打印Windows油漆的文本不完全相同,如果我们看到这幅图片,则绘制窗口的质量更好:
http://www.subeimagenes.com/img/texto-1414832.png
我们看到上面的文字是用PIL写的,下面的文字是用油漆写的,虽然差别很小,但我想让它完全像Windows画图,而事实却不一样。。我曾经是不同的,相同的源代码,没有案例!直到我使用了值为100的quality属性,但上面的文本显示的质量不如下面的文本,如果仔细看,您会发现,正如我所说的,质量是不一样的,PIL文本的质量用于打印比油漆质量低的文本。
更重要的是..。好像是另一个来源..。这是完全一样的,事实是,我不喜欢,我不知道是否有任何方式,文字打印有更好的质量,或PIL是最好的定义为油漆。
这是我目前的代码:
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)谢谢!:)
发布于 2015-08-23 14:11:49
您可以尝试将图像呈现到所需大小的倍数,然后将其与resize一起filter=Image.ANTIALIAS。
下面是一个使用大小调整因子为2的示例:
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')https://stackoverflow.com/questions/32167198
复制相似问题