我正在使用像图库一样的应用程序。 这允许用户从他的计算机中选择文件并上传图像。上传图像后,该图像将显示在图库中。 我将图像保存在blobstore中,并通过blobkey获取。 我想得到一个缩略图(从原始图像调整大小) 在服务器端,我尝试使用image api根据它的blobkey调整原始的一个,就像这样
public String getImageThumbnail(String imageKey) {
BlobKey blobKey = new BlobKey(imageKey);
Image oldImage = ImagesServiceFactory.makeImageFromBlob(blobKey);
/*
* can not get width anf height of "oldImage"
* then I try to get imageDate of old Image to create a new image like this
*/
byte[] oldImageData = oldImage.getImageData();
Image newImage1 = ImagesServiceFactory.makeImage(oldImageData);
/*
* however
* oldImage.getImageData(); return null/""
* and cause the Exception when call this ImagesServiceFactory.makeImage(oldImageData)
*/
}
是否有人在服务器端使用过图像api,请让我知道如何获取从blobkey或byte创建的图像的宽度和高度[]
答案 0 :(得分:1)
感谢大家的阅读 我用这个
解决了我的问题 ImagesService imagesService = ImagesServiceFactory.getImagesService();
BlobKey blobKey = new BlobKey(imageKey);
BlobInfo blobInfo = new BlobInfoFactory().loadBlobInfo(blobKey);
byte[] bytes = blobstoreService.fetchData(blobKey, 0, blobInfo.getSize());
Image oldImage = ImagesServiceFactory.makeImage(bytes);
int w = oldImage.getWidth();
int h = oldImage.getHeight();
答案 1 :(得分:0)
图像对象有高度/重量细节:
int width = oldImage.getWidth();
int height = oldImage.getHeight();