我正在使用Python图像库运行一个奇怪的问题。下面是我用的版本用于重复性(在ipython
)在结束以帮助澄清确切的代码:如果图像尺寸足够大,PIL,Image,ImageDraw不会粘贴文本
Python 3.5.3 |Continuum Analytics, Inc.| (default, Mar 6 2017, 11:58:13)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.1.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: from PIL import (Image, ImageDraw)
In [2]: def title_text(height):
...: im = Image.new(mode='L', size=(516,height), color=255)
...: draw = ImageDraw.Draw(im)
...: draw.text((0,0), "Title Text")
...: im.save("test_"+str(height)+".png")
...:
In [3]: title_text(100)
In [4]: title_text(50000)
In [5]: import PIL
In [6]: PIL.__version__
Out[6]: '4.1.1'
我得到的输出是非常奇怪。对于第一个形象,我在这里连接它:
你可以看到,“标题文本”成功获取显示在这里。
但是,当我对高度为50k像素的图像做同样的事情时,出于某种原因标题文本无处可见。这个图像到处都是纯白色的;尽管滚动到顶部并放大,我仍无法看到文本。我曾经能够粘贴更大的图像(高度远高于50k像素),但这似乎不起作用。
(1)任何人都可以重现此结果吗? (2)关于为什么这可能无效的任何想法?
我做了一些更多的测试。看起来像文本消失时的“截止点”在40k到50k像素的高度之间。 PIL是否有一些我需要调整的图像大小限制参数?它也可能是一个非PIL的问题,但与我如何渲染图像(我在Ubuntu中使用'gnome-open'),但我怀疑...... – ComputerScientist