©2009 Google -
Code 主页 -
站点服务条款 -
隐私政策 -
站点目录
Google Code 有以下版本:
English -
Español -
日本語 -
한국어 -
Português -
Pусский -
中文(简体) -
中文(繁體)
通过使用 App Engine 图像服务,您的应用程序可以使用与 Picasa 网络相册相同的可扩展基础架构来控制图像。采用该 API,您可以对 JPEG、PNG、GIF(包括动画)、BMP、TIFF 和 ICO 格式的图像进行缩放、裁剪、旋转和翻转,并使用修正照片的自动算法调整它们的对比度和颜色级别。
可以在图像上执行转换以生成缩略图,也可以在应用程序管理课程中执行其他典型操作。
当前可用的转换有:
以相同的纵横比缩放图像。如果同时指定了宽度和高度,当调整照片大小时会使用两个值中限制性较强的一个。
沿顺时针方向按指定度数旋转图像。
水平翻转图像。
垂直翻转图像。
根据您传递给函数的边界框裁剪图像。
[手气不错] 转换功能可增强图像的暗度和亮度,并可将颜色和对比度调整到最佳水平。
注意:为了能在您的本地环境中使用图像 API,您必须先下载和安装 PIL(Python 映像库)。PIL 在 App Engine 中不可用,它只用作您本地环境中的图像 API 的存根。App Engine 上只能使用图像 API 中提供的转换。
from google.appengine.api import images
from google.appengine.ext import db
from google.appengine.ext import webapp
class Photo(db.Model):
title = db.StringProperty()
full_size_image = db.BlobProperty()
class Thumbnailer(webapp.RequestHandler):
def get(self):
if self.request.get("id"):
photo = Photo.get_by_id(self.request.get("id"))
if photo:
img = images.Image(photo.full_size_image)
img.resize(width=80, height=100)
img.im_feeling_lucky()
thumbnail = img.execute_transforms(output_encoding=images.JPEG)
self.response.headers['Content-Type'] = 'image/jpeg'
self.response.out.write(thumbnail)
return
# Either "id" wasn't provided, or there was no image with that ID
# in the datastore.
self.error(404)