Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Google App Engine Blobstore压缩图像_Java_Google App Engine_Blobstore - Fatal编程技术网

Java 如何使用Google App Engine Blobstore压缩图像

Java 如何使用Google App Engine Blobstore压缩图像,java,google-app-engine,blobstore,Java,Google App Engine,Blobstore,我们有一个应用程序,为blobstore的一系列图像提供服务器。一 例如: 这是一个巨大的png,所以下载量为536K 如果我们将其大小调整为400,它仍然很大(263k): 我们如何才能请求或存储某种更好的图片 压缩?我们的应用程序有一个移动客户端,正在等待 273K的速度非常慢。您可以启用动态重新压缩图像。您可以使用从前端实例动态提供重新压缩的图像。您可以将图像的不同版本(具有不同压缩比)上载到or,并选择要显示客户端的版本(使用CSS或客户端逻辑)。有。要压缩和调整图像大小: // g

我们有一个应用程序,为blobstore的一系列图像提供服务器。一 例如:

这是一个巨大的png,所以下载量为536K

如果我们将其大小调整为400,它仍然很大(263k):

我们如何才能请求或存储某种更好的图片 压缩?我们的应用程序有一个移动客户端,正在等待
273K的速度非常慢。

您可以启用动态重新压缩图像。

您可以使用从前端实例动态提供重新压缩的图像。

您可以将图像的不同版本(具有不同压缩比)上载到or,并选择要显示客户端的版本(使用CSS或客户端逻辑)。

有。要压缩和调整图像大小:

// get image from blobstore
ImagesService imagesService = ImagesServiceFactory.getImagesService();
Image oldImage = ImagesServiceFactory.makeImageFromBlob(blobKey); 

// compress & resize it
OutputSettings settings = new OutputSettings(ImagesService.OutputEncoding.JPEG);
settings.setQuality(90);
Transform transform = ImagesServiceFactory.makeResize(newWidth, newHeight) 
Image newImage = imagesService.applyTransform(transform, oldImage, settings);
byte[] blobData = newImage.getImageData();

//save data to blobstore
FileService fileService = FileServiceFactory.getFileService();
AppEngineFile file = fileService.createNewBlobFile("image/jpeg", someFilename);
FileWriteChannel writeChannel = fileService.openWriteChannel(file, true);
writeChannel.write(ByteBuffer.wrap(blobData));
writeChannel.closeFinally();

// get the blobKey to newly written data
BlobKey blobKey = fileService.getBlobKey(file);

我可以知道我是如何在python中做到这一点的吗?@AvinashRaj:还有python的图像API: