Google Code が利用できる言語: English - Español - 日本語 - 한국어 - Português - Pусский - 中文(简体) - 中文(繁體)
App Engine は、専用の画像サービスを使用した画像データ処理機能を提供しています。画像サービスでは、画像のサイズ変更、回転、左右反転、トリミングを行うことができます。また、複数の画像を 1 つの画像にまとめたり、画像データを異なる形式に変換したりできます。事前に定義したアルゴリズムを使用した写真のエンハンスも実行できます。API は、フォーマット、幅、高さ、カラー値のヒストグラムなどの画像に関する情報も提供します。
画像サービスの Java API は、アプリケーション サーバー上の画像処理を実行する代わりに、サービスを利用した画像変換を行います。アプリケーションは、Image オブジェクトと変換する画像データを用意します。また、Transform オブジェクトに画像を変換する方法を指定します。アプリケーションは ImagesService オブジェクトを取得し、Image オブジェクトと Transform オブジェクトと共に applyTransform() メソッドをコールします。このメソッドは、変換された画像の Image オブジェクトを返します。
アプリケーションは、ImagesServiceFactory を使用し、ImagesService、Image および Transform の各インスタンスを取得します。
import com.google.appengine.api.images.Image;
import com.google.appengine.api.images.ImagesService;
import com.google.appengine.api.images.ImagesServiceFactory;
import com.google.appengine.api.images.Transform;
// ...
byte[] oldImageData; // ...
ImagesService imagesService = ImagesServiceFactory.getImagesService();
Image oldImage = ImagesServiceFactory.makeImage(oldImageData);
Transform resize = ImagesServiceFactory.makeResize(200, 300);
Image newImage = imagesService.applyTransform(resize, oldImage);
byte[] newImageData = newImage.getImageData();
CompositeTransform インスタンスを使用し、複数の変換を 1 つのアクションにまとめることができます。Images API リファレンスをご覧ください。
画像サービスは、画像のサイズ変更、回転、左右反転、トリミングを行うことができます。また、写真をエンハンスできます。また、複数の画像を 1 つの画像にまとめることもできます。
画像の縦横比を保ちながらサイズを変更することができます。

画像を 90 度ずつ回転させることができます。

画像を左右に反転させることができます。

画像を上下に反転させることができます。

画像を指定した境界ボックスで切り取ることができます。

「I'm Feeling Lucky」の変換は、画像の明暗部をはっきりさせ、色彩とコントラストを最適に調節できます。

このサービスは、JPEG、PNG、GIF(アニメーション GIF も含む)、BMP、TIFF および ICO 形式のデータを処理できます。
変換後の画像は JPEG または PNG 形式となります。入力形式と出力形式が異なる場合、加工を行う前に入力形式を出力形式に変換します。
開発サーバーは、ローカル マシンを使用して画像サービスの機能を実行します。
Java 開発サーバーには、画像サービスのシミュレーションに相当する機能が含まれていますが、「I'm Feeling Lucky」写真エンハンス機能はサポートしていません。
それぞれの画像サービス リクエストは、Image Manipulation API コールの割り当てとしてカウントされます。アプリケーションは、画像の複数の加工を 1 つの API コールから実行できます。
画像サービスに送られたデータは、(画像)API に送信されたデータ の割り当てとして数えられます。画像サービスから受け取るデータは、(画像から)受信したデータの API の割り当てとして数えられます。
画像のそれぞれの加工は実行された加工の割り当てとして数えられます。
割り当ての詳細については、割り当て、および管理コンソールの「割り当て詳細」セクションをご覧ください。
割り当てに加え、画像サービスの使用には次の制限があります。
| 制限 | 制限値 |
|---|---|
| サービスに送信される画像の最大データ サイズ | 1 MB |
| サービスから受け取るデータの最大データサイズ | 1 MB |