2015-07-10 82 views
5

我試圖在Python上使用Pillow library以編程方式創建圖像,但我遇到了圖像內部文本的圖像質量問題。保存枕頭圖像時如何正確設置DPI?

我要保存圖像的生成我對PNG,所以要根據this保存時,我設置DPI,但無論我保存DPI =(72,72)DPI =(600600)它在視覺上看起來是一樣的。

我這樣做它的代碼如下:

from PIL import Image, ImageDraw, ImageFont 

def generate_empty_canvas(width, height, color='white'): 
    size = (width, height) 
    return Image.new('RGB', size, color=color) 

def draw_text(text, canvas): 
    font = ImageFont.truetype('Verdana.ttf', 10) 
    draw = ImageDraw.Draw(canvas) 
    if '\n' not in text: 
     draw.text((0, 0), text, font=font, fill='black') 
    else: 
     draw.multiline_text((0, 0), text, font=font, fill='black') 

def create_sample(): 
    text = 'aaaaaaaaaaaaaaaaaa\nbbbbbbbbbbbbbbbbbbbbbbb\nccccccccccccccccccccc' 
    canvas = generate_empty_canvas(200, 50) 
    draw_text(text, canvas) 
    canvas.save('low_quality.png', dpi=(72, 72)) 
    canvas.save('high_quality.png', dpi=(600, 600)) 

的low_quality.png是:

Image dpi=72

的high_quality.png是:

Image dpi=600

正如圖像所顯示的那樣質量沒有改變。 我在這裏做錯了什麼?

我在哪裏設置DPI,使圖像真正具有dpi = 600?

回答

6

DPI值只是計算機圖像上的元數據。他們提示如何顯示或打印圖像。

使用360 dpi打印360×360圖像將導致1×1英寸的打印輸出。

解釋它的簡化方法:DPI設置建議圖像的縮放級別。

與其他DPI一起保存不會改變圖像的內容。如果你想要一個更大的圖像使用更大的尺寸和更大的字體。

相關問題