我试图在MS Word中实现与调整图像大小相同的功能。
我想调整BufferedImage的大小,但是在调整大小的过程中我会丢失一些信息。
我试图实现两种方法,但两者都产生了相同的结果。
在调整大小之前:
在我的应用程序中进行少量调整操作后的图片:
第一种方法:
image = Thumbnails.of(image).size(w,h).asBufferedImage();
第二种方法:
image = toBufferedImage(image.getScaledInstance(w, h, Image.SCALE_SMOOTH));
图像是BufferedImage的实例,w是图像的新宽度,h是图像的新高度
任何想法,我做错了什么?
答案 0 :(得分:0)
每次调整大小后,您都会不断丢失图像中的信息。如果你想要解决方案(比如在MS Word中)你必须保留原始图像,但只显示调整大小的副本。
最好的解决方案是创建一个对象来存储原始图像并按需调整大小。您可以提高此解决方案的质量,添加简单的缓存,这样您就不会为每个请求生成另一个已调整大小的图像副本,但仅当您的应用程序需要的图像具有与上次不同的高度或宽度时
我希望我能帮到你一点。