我正在尝试使用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。
有人可以帮我吗?
答案 0 :(得分:1)
据我所知,GAE使用字节操作。图像数据(您的jpg)的源/目标可以是:URL连接,DataStore BLOB或BlobStorage。 不要忘记你必须使用纯Java。可以有几种方式:
appengine-awt
库的alpha版本:https://code.google.com/p/appengine-awt/source/checkout
它允许你使用标准的BufferedImage
但是它有很多错误,所以可能会出现一些问题。但你仍然可以使用标准的GAE Api for Images。有一个Image接口,其中嵌套类Image.Format指定了JPEG格式。方法setImageData(byte[] data)
对你有用。
以下是相关文档:https://developers.google.com/appengine/docs/java/javadoc/com/google/appengine/api/images/Image#setImageData(byte [])< / p>