2

Google Image サービスを使用しようとしていますが、次の例を使用して画像のサイズを変更しようとしています。

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();

byte[] newImageData を Google クラウド ストレージの jpg ファイルに保存する必要がある時点で立ち往生しています。txt ファイルの作成方法は知っていますが、jpg の作成方法は知っていません。

誰でも私を助けてくれますか?

4

1 に答える 1

1

私の知る限り、GAE はバイト単位で動作します。画像データ (jpg) のソース/宛先は、URL 接続、DataStore BLOB、または BlobStorage のいずれかです。純粋な Java を使用する必要があることを忘れないでください。いくつかの方法があります。

  1. 最初に Jimi を使用してみてください。これは、画像を操作するための純粋な Java ライブラリです。かなり単純です。
  2. appengine-awtまた、ライブラリのアルファ版が存在します: https://code.google.com/p/appengine-awt/source/checkout 標準を使用できるようになりますBufferedImageが、バグが多いため、いくつかの可能性があります。問題。

ただし、Images には標準の GAE Api を使用できます。ネストされたクラス Image.Format が JPEG format.MethodsetImageData(byte[] data)を指定する Image インターフェースが役立ちます。

これに関するドキュメントは次のとおりです: https://developers.google.com/appengine/docs/java/javadoc/com/google/appengine/api/images/Image#setImageData(byte[])

于 2013-03-20T12:56:27.507 に答える