我正在使用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