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