2011-10-01 69 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