【问题标题】:Python : any ideas without using PIL to draw the text on a imagePython:任何不使用 PIL 在图像上绘制文本的想法
【发布时间】:2013-02-07 15:15:39
【问题描述】:

我使用 Python 3.3,并且我已经安装(只需执行下载的文件 .exe,不需要任何设置?)从下面的链接中拼写 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 在图像上绘制文本?

【问题讨论】:

标签: python image python-imaging-library drawtext


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    因为 3.3 还没有发布。

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

    如果您想使用 PIL,请使用 Python 2.6。 Python 3.X 版本对 python 做了一些改动,所以它不完全向后兼容。

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

    【讨论】:

    • @Wertilq 有什么想法不使用 PIL 在图像上绘制文本?
    • 您需要使用 Python 3.3 吗?我的女朋友目前正在上一门 Python 课程,他们在那里使用 2.7.2。
    • C.Y.图像只是数据。如果您知道图像格式,则可以“画一条线”并将该数据转换为浏览器可以理解的图像。因此,如果您想在不使用 PIL 的情况下操作图像,那么请学习相关的图像格式和布局,并创建一个在代码中执行您需要的功能!
    • @PaulC,如果没有库支持,PNG 图像将很难写出。将字体转换为位图形式也很困难,除非您可以使用离线实用程序将每个字形生成为单独的位图。
    • 绝对!我真的想向 OP 指出,从头开始绘制图像是 hard 这就是为什么有图书馆的原因。但最终,这些图像也只是数据,如果你真的想要,你可以“手动”操作它们。
    【解决方案3】:

    使用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) 
    

    【讨论】:

      猜你喜欢
      • 2011-12-03
      • 2012-11-08
      • 1970-01-01
      • 2018-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-05
      • 1970-01-01
      相关资源
      最近更新 更多