我有一个应用程序,用户可以在相册中上传图片,但自然地,上传的图像需要调整大小,所以有也有拇指可用和显示的图片也适合页面(例如800×600)。
我做调整大小的方式是这样的:
Image scaledImage = img.getScaledInstance((int)width, (int)height, Image.SCALE_SMOOTH);
BufferedImage imageBuff = new BufferedImage((int)width, (int)height, BufferedImage.TYPE_INT_RGB);
Graphics g = imageBuff.createGraphics();
g.drawImage(scaledImage, 0, 0, new Color(0,0,0), null);
g.dispose();
它的工作okayish。我唯一的问题是,g.drawImage()方法似乎非常慢,我只是无法想象用户有足够的耐心等待上传20张图片20 * 10秒〜3分钟。事实上,在我的电脑上,花了将近40秒为一个单一的图片的3个不同的大小。
这还不够好,我正在寻找一个更快的解决方案。我想知道如果有人可以告诉我一个更好的一个在Java或通过调用一个shell脚本,命令,无论你知道什么,它必须更快,一切其他都不重要这一次。