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:表不轉換參數無效。