2011-12-22 101 views
1

我有以下PIL代碼的圖像PIL Draw.text和較低的分辨率

import os, sys 
import PIL 
from PIL import ImageFont 
from PIL import Image 
from PIL import ImageDraw 

img = Image.open("one.jpg") 
draw = ImageDraw.Draw(img)  
font = ImageFont.truetype("/usr/share/fonts/truetype/msttcorefonts/Times_New_Roman.ttf",27) 
draw.text((100, 100), "test test test", font=font)  
img.save("out.jpg") 

這部作品one.jpg文件在打印文本。但是在另一個名爲two.jpg的測試文件中,它不會打印任何內容。從我所看到的,兩個文件之間的唯一區別是two.jpg上的分辨率較低。文件one.jpg是200x200 dpi,two.jpg是60x60 dpi。

如何讓draw.text在較低分辨率下工作?

感謝,

回答

2

您需要指定文本顏色:

import os 
import sys 
import ImageFont 
import Image 
import ImageDraw 

img = Image.open("two.jpg") 
draw = ImageDraw.Draw(img)  
font = ImageFont.truetype("/usr/share/fonts/truetype/msttcorefonts/Times_New_Roman.ttf",27) 
draw.text((100, 100), "test test test", font=font, fill = 'blue')  
img.save("out.jpg") 
+0

這是它。我不知道爲什麼顏色黑色默認爲一個文檔,而不是其他文檔。但我總是明確不會受到傷害,我總是會從現在開始指定顏色。 – user423805 2011-12-22 22:54:16

+0

是的,這對我來說也是個謎。 – unutbu 2011-12-23 01:31:07