2011-10-01 62 views
0

我正在使用下面的腳本來調整圖像大小。但我注意到調整大小的圖像失去清晰度。 According to this pageImage.ANTIALIAS是最好的「縮小過濾器」。但是,當我將過濾器添加到代碼如何在GAE中使用Image.ANTIALIAS和resize()?

images.resize(homepage.original_image, 200, 200, Image.ANTIALIAS) 

我得到

AttributeError: type object 'Image' has no attribute 'ANTIALIAS' 

有沒有辦法解決?由於

class ImageResize(webapp.RequestHandler): 
    def get(self): 
     q = HomePage.all() 
     result = q.fetch(3) 
     for item in result: 
      firm = item.firm_name 
      id = item.key().id() 
      if id: 
       homepage = HomePage.get_by_id(id) 
       if homepage: 
        thumbnail = images.resize(homepage.original_image, 200, 200) 
        homepage.thumbnail = db.Blob(thumbnail) 
        homepage.put() 

回答

2

您鏈接的文檔是PIL,但您使用的谷歌應用程序引擎images API,用於該文檔是在這裏:http://code.google.com/appengine/docs/python/images/functions.html

+0

@馬克贖金:謝謝!我將代碼更改爲:'thumbnail = images.resize(homepage.original_image,300,300,images.JPEG,100)'。由於某種原因,「質量」論點的位置沒有被指明,所以我把它放在最後;它在SDK中不受支持,所以我不知道它是否可行。再次感謝。 – Zeynel

+0

@Zeynel質量參數指定JPEG質量參數(例如,圖像壓縮程度如何);將其設置得更高將導致更大,更清晰的圖像,但要小心將其設置得太高,因爲它只會浪費超過某個閾值的空間。 –

+0

@ Nick:我試圖通過在PIL中使用類似於size的函數來獲取我的圖像的大小,但是我無法在Images API中找到它。你知道我怎麼能得到一個圖像的大小?正如我上面提到的那樣,我使用了100,圖像看起來不錯。 – Zeynel