2017-10-06 5 views
0

Python Imaging Libraryを使用して奇妙な問題に遭遇しています。ここで私は理解しやすくするために最後でバージョンで(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' 

出力は非常に奇妙です。最初の画像の場合、私はそれをここに添付しました:

enter image description here

あなたは「タイトルテキスト」は成功し、ここに表示されることを見ることができます。

しかし、50kピクセルの高さの画像で同じことをすると、何らかの理由でタイトルテキストが表示されません。イメージはどこでも白いだけです。私は、上にスクロールしてズームしてもテキストを見ることができませんでした。私は以前、50kピクセルよりはるかに大きな高さの画像を貼り付けることができましたが、これはうまくいかないようです。

(1)誰でもこの結果を再現できますか? (2)なぜこれがうまくいかないのかについてのアイデアはありますか?

+0

もう少しテストをしました。テキストが消えるときの「カットオフ」のように見えるのは、高さが40kから50kピクセルの間です。 PILには調整が必要な画像サイズ制限パラメータがありますか?それは非PILの問題かもしれませんが、イメージをどのようにレンダリングするか(私はUbuntuで 'gnome-open'を使っています)、私はそれを疑っています... – ComputerScientist

答えて

1

これはおそらくあなたの視聴者です。 Chromeでtest_50000.pngを開いて500%に拡大すると、上部に小さなテキストが表示されます。

+0

これは本当に面倒です。それは私にイメージを与えていない場合、 'グノムオープン'のようなものを持っているのは何ですか? – ComputerScientist

+0

Dunno。能力の私の領域外。 – holdenweb

関連する問題