我正在寻找在Java中最简单(且无问题)的方式来调整 BufferedImage 的大小。
在对一个问题的回答中,用户 coobird 建议了以下解决方案,他的话(经过我稍微更改)如下:
**
Graphics 对象有一种方法可以绘制图像并执行调整大小操作:
Graphics.drawImage(Image, int, int, int, int, ImageObserver) 方法可用于在绘制时指定图像的位置和大小。
因此,我们可以使用类似这样的代码:
这将使用
在对一个问题的回答中,用户 coobird 建议了以下解决方案,他的话(经过我稍微更改)如下:
**
Graphics 对象有一种方法可以绘制图像并执行调整大小操作:
Graphics.drawImage(Image, int, int, int, int, ImageObserver) 方法可用于在绘制时指定图像的位置和大小。
因此,我们可以使用类似这样的代码:
BufferedImage originalImage = // .. created somehow
BufferedImage newImage = new BufferedImage(SMALL_SIZE, SMALL_SIZE, BufferedImage.TYPE_INT_RGB);
Graphics g = newImage.createGraphics();
g.drawImage(originalImage, 0, 0, SMALL_SIZE, SMALL_SIZE, null);
g.dispose();
这将使用
SMALL_SIZE
的宽度和高度,将originalImage
绘制到newImage
上。
**
这个解决方案看起来相当简单。我有两个问题:
如果我想将图像调整为更大的大小,是否也可以使用完全相同的代码运行?
这个解决方案有什么问题吗?
如果有更好的方法,请建议一下。
谢谢