Python:没有使用PIL在图像上绘制文本的任何想法

时间:2013-02-07 15:15:39

标签: python image python-imaging-library drawtext

我使用的是Python 3.3,我已经安装了(只是执行下载的文件.exe,不需要任何设置?)aspell PIL来自下面的链接,不幸的是我导入PIL是错误未解决的PIL。为什么?

http://www.lfd.uci.edu/~gohlke/pythonlibs/

import PIL
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
font = ImageFont.truetype("C:/arial.ttf",25)
img=Image.new("RGBA", (200,200),(120,20,20))
draw = ImageDraw.Draw(img)
draw.text((0, 0),"This is a test",(255,255,0),font=font)
draw = ImageDraw.Draw(img)
draw = ImageDraw.Draw(img)
img.save("a_test.png")

或者有没有使用PIL在图像上绘制文字的想法?

3 个答案:

答案 0 :(得分:1)

因为尚未发布3.3。

“目前的免费版本是PIL 1.1.7。此版本支持Python 1.5.2及更高版本,包括2.5和2.6。3.X的版本将在稍后发布。” - 来自PIL主页。

如果你想使用PIL,请使用Python 2.6。 Python的3.X版本稍微改变了python,因此它不完全向后兼容。

我建议您使用旧版本的Python而不是3.X,除非您有充分的理由使用3.X。

答案 1 :(得分:1)

Pillow是Python Imaging Library的延续,已经更新为与Python 3一起使用。这应该可以解决您未解决的PIL问题。

在最近的Python中,在图像上绘制文本的其他选项存在:

  • Pygame是一个SDL 1.2包装器,自Pygame 1.9.2起支持Python 3.
  • Wand是一个基于ctypes的ImageMagick包装器。
  • gdmodule包装GD,但其安装程序似乎只支持Linux。它在Windows下无法帮助您(参见"C:/arial.ttf"),但它可能会帮助其他人遇到同样的问题。

答案 2 :(得分:0)

使用opencv

import cv2
font = cv2.FONT_HERSHEY_SIMPLEX 
orgin = (50, 50) 
fontScale = 1
color = (255, 0, 0) 
thickness = 2

使用cv2.putText()方法

image = cv2.putText(image, 'OpenCV', org, font, fontScale, color, thickness, cv2.LINE_AA)