Java 在将图像保存到blob字段之前,如何以InputStream的风格调整图像的大小

Java 在将图像保存到blob字段之前,如何以InputStream的风格调整图像的大小,java,image-resizing,Java,Image Resizing,我有一个网页,允许用户上传图像并将其保存到MySQL数据库的blob字段中。我需要调整这些图像的大小,我想知道步骤是什么 现在,我通过以下方式获得图像: InputStream content = request.getPart("immagine").getInputStream(); 如何调整图像的大小?我是否应该将InputStream转换为buffereImage,然后调整大小,然后在将其保存到DB之前再次转换为InputStream?我们有类似的要求,即裁剪图像并重新调整大小。为此,

我有一个网页,允许用户上传图像并将其保存到MySQL数据库的blob字段中。我需要调整这些图像的大小,我想知道步骤是什么

现在,我通过以下方式获得图像:

InputStream content = request.getPart("immagine").getInputStream();

如何调整图像的大小?我是否应该将
InputStream
转换为
buffereImage
,然后调整大小,然后在将其保存到DB之前再次转换为
InputStream

我们有类似的要求,即裁剪图像并重新调整大小。为此,我们使用了imgscalr

BufferedImage img = //Convert you input image to BufferedImage, we used ImageIO.read for this.
BufferedImage scaledImg = Scalr.resize(img, Scalr.Method.ULTRA_QUALITY, Scalr.Mode.AUTOMATIC,  400, 300); //400,300 was the size we expected

希望这有帮助

你试过了吗?这似乎是一件相当明智的事情。。。只要它是一个原始输入流,您就无法调整它的大小,因此使用javax.image.ImageIO将它读入一个buffereImage,调整大小,然后再次写出它似乎是一个好主意。试试看。不,我还没试过。我问是否有比我的更好更快的方法。这就是为什么我在做之前问:)imgscalr的链接-->