1.圖像操作API
開發(fā)的應(yīng)用程序可以使用Google App Engine提供的圖像操作API對圖像進(jìn)行操作,使用該API可以對JPEG和PNG格式的圖像進(jìn)行縮放、裁剪、旋轉(zhuǎn)和翻轉(zhuǎn)等操作。
1)Image類
Image類來自于google.appengine.api.images模塊,該類可以用來封裝圖像信息及轉(zhuǎn)換該圖像,轉(zhuǎn)換時(shí)可以使用execute_transformsO方法;可以使用classlmage(image_data)來構(gòu)造函數(shù),參數(shù)image_data表示字節(jié)字符串(str)格式的圖像數(shù)據(jù);可以采用PNG、JPEG、TIFF或ICO格式對圖像數(shù)據(jù)進(jìn)行編碼。
Image類中主要有如下實(shí)例方法。
(1)resize(width=0,height=0):該方法用來縮放圖像,可以將圖像縮小或放大到參數(shù)指定的寬度或者高度。參數(shù)width和height都是以像素?cái)?shù)量來表示,并且必須是int型或long型。
(2)crop(left_x,top_y,riglit_x,bottom_y):該方法可以將圖像裁剪到指定邊界框的大小,并且裁剪后以相同的格式返回轉(zhuǎn)換的圖像。參數(shù)leftx表示邊界框的左邊界,top_y 表示邊界框的上邊界,right_x表示邊界框的右邊界,bottom_y表示邊界框的下邊界。以上四個(gè)參數(shù)均采用指定為float類型值的從0.0到1.0的圖像寬度的比例(其中float值包括了0.0和1.0)。
(3)rotate(image_data,degrees,output_encoding=images.PNG):該方法是用來旋轉(zhuǎn)圖像。參數(shù)degrees表示圖像旋轉(zhuǎn)的量,采用的形式是度數(shù),且這個(gè)度數(shù)必須是90的倍數(shù),數(shù)據(jù)格式必須為int型或long型,使用該函數(shù)對圖像進(jìn)行旋轉(zhuǎn)式是沿順時(shí)針方向執(zhí)行。image_data是指要旋轉(zhuǎn)的圖像,是JPEG、GIF、BMP、TIFF或者ICO等格式的字節(jié)字符串(str)。output_encoding指轉(zhuǎn)換的圖像所需的格式,可以是images.PNG或images.JPHQ格式,默認(rèn)的格式是images.PNG格式。
(4)horizontal_flip(image_data,output_encoding=images.PNG):該函數(shù)表不對圖像進(jìn)行水平翻轉(zhuǎn)。參數(shù)image_data表示要翻轉(zhuǎn)的圖像是JPEG、PNG、TIFF或ICO格式的字節(jié)字符串(str)。output_encoding參數(shù)表示要轉(zhuǎn)換的圖像所需要的格式,可以是images.PNG或是images.JPEG,默認(rèn)的格式是images.PNG格式。
(5)vertical_flip(image_data,output_encoding=images.PNG):該函數(shù)表不垂直地翻轉(zhuǎn)圖像,并且轉(zhuǎn)換后的圖像與以前的格式一樣。
2)exception 類
google.appengine.api.images包為用戶主要提供了以下exception類。
(1)exception ErrorO:這是該包中所有異常的基類。
(2)exception TransformationErrorO:表不嘗試轉(zhuǎn)換圖像時(shí)發(fā)生錯(cuò)誤。
(3)exception BadRequestErrorO:表不轉(zhuǎn)換參數(shù)無效。