1.图像操作API
开发的应用程序可以使用Google App Engine提供的图像操作API对图像进行操作,使用该API可以对JPEG和PNG格式的图像进行缩放、裁剪、旋转和翻转等操作。
1)Image类
Image类来自于google.appengine.api.images模块,该类可以用来封装图像信息及转换该图像,转换时可以使用execute_transformsO方法;可以使用classlmage(image_data)来构造函数,参数image_data表示字节字符串(str)格式的图像数据;可以采用PNG、JPEG、TIFF或ICO格式对图像数据进行编码。
Image类中主要有如下实例方法。
(1)resize(width=0,height=0):该方法用来缩放图像,可以将图像缩小或放大到参数指定的宽度或者高度。参数width和height都是以像素数量来表示,并且必须是int型或long型。
(2)crop(left_x,top_y,riglit_x,bottom_y):该方法可以将图像裁剪到指定边界框的大小,并且裁剪后以相同的格式返回转换的图像。参数leftx表示边界框的左边界,top_y 表示边界框的上边界,right_x表示边界框的右边界,bottom_y表示边界框的下边界。以上四个参数均采用指定为float类型值的从0.0到1.0的图像宽度的比例(其中float值包括了0.0和1.0)。
(3)rotate(image_data,degrees,output_encoding=images.PNG):该方法是用来旋转图像。参数degrees表示图像旋转的量,采用的形式是度数,且这个度数必须是90的倍数,数据格式必须为int型或long型,使用该函数对图像进行旋转式是沿顺时针方向执行。image_data是指要旋转的图像,是JPEG、GIF、BMP、TIFF或者ICO等格式的字节字符串(str)。output_encoding指转换的图像所需的格式,可以是images.PNG或images.JPHQ格式,默认的格式是images.PNG格式。
(4)horizontal_flip(image_data,output_encoding=images.PNG):该函数表不对图像进行水平翻转。参数image_data表示要翻转的图像是JPEG、PNG、TIFF或ICO格式的字节字符串(str)。output_encoding参数表示要转换的图像所需要的格式,可以是images.PNG或是images.JPEG,默认的格式是images.PNG格式。
(5)vertical_flip(image_data,output_encoding=images.PNG):该函数表不垂直地翻转图像,并且转换后的图像与以前的格式一样。
2)exception 类
google.appengine.api.images包为用户主要提供了以下exception类。
(1)exception ErrorO:这是该包中所有异常的基类。
(2)exception TransformationErrorO:表不尝试转换图像时发生错误。
(3)exception BadRequestErrorO:表不转换参数无效。