请参阅http://www.playframework.org/community/snippets/4
是否可以在将Blob图像渲染到屏幕上之前压缩/调整其大小?
public static void getPicture(long id) {
Picture picture = Picture.findById(id);
response.setContentTypeIfNotSet(picture.image.type());
renderBinary(picture.image.get());
}
答案 0 :(得分:2)
您可以在play.libs
包中使用Image类,该包具有名为resize的静态方法。
签名是
resize(java.io.File originalImage, java.io.File to, int w, int h)
您显然需要执行额外的步骤将图像保存到文件,然后执行转换,但如果这太多,您可以获取代码的副本并使其与Blob一起使用代替。
或者,如果有任何其他第三方库使用Blob类型,那么这可以很容易地集成。
答案 1 :(得分:0)
如果您正在处理JPEG或其他压缩图像,则无法节省大量压缩图像的磁盘/带宽。在大多数情况下,您可能只会减少一些不值得压缩成本的字节。
对于调整大小JMagick(这是ImageMagick的接口)是一个不错的选择。关于如何使用JMagick调整图像大小,有一个small tutorial。
希望有所帮助