BufferedImage 设置大小
时间: 2023-10-24 20:30:31 浏览: 63
要设置 BufferedImage 的大小,可以使用 `BufferedImage` 类的 `createImage()` 方法来创建一个新的 BufferedImage,然后使用 `getGraphics()` 方法获取 Graphics2D 对象,再使用 `drawImage()` 方法将原始图像绘制到新的 BufferedImage 中。下面是一个示例代码:
```java
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
public class ResizeBufferedImage {
public static BufferedImage resize(BufferedImage originalImage, int newWidth, int newHeight) {
// 创建新的 BufferedImage
BufferedImage resizedImage = new BufferedImage(newWidth, newHeight, originalImage.getType());
// 获取 Graphics2D 对象并将原始图像绘制到新的 BufferedImage 中
Graphics2D g = resizedImage.createGraphics();
g.drawImage(originalImage, 0, 0, newWidth, newHeight, null);
g.dispose();
return resizedImage;
}
public static void main(String[] args) {
try {
// 读取原始图像
BufferedImage originalImage = ImageIO.read(new File("input.jpg"));
// 设置新的图像大小
int newWidth = 800;
int newHeight = 600;
// 调用 resize() 方法进行图像大小调整
BufferedImage resizedImage = resize(originalImage, newWidth, newHeight);
// 将调整后的图像保存到文件中
ImageIO.write(resizedImage, "jpg", new File("output.jpg"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上述示例代码中,`resize()` 方法接收一个原始图像、新的宽度和高度作为参数,并返回一个调整大小后的 BufferedImage。`main()` 方法中的示例代码演示了如何使用该方法来调整图像的大小,并将调整后的图像保存到文件中。请确保将 `input.jpg` 替换为你要调整大小的图像文件的路径,并在 `newWidth` 和 `newHeight` 变量中指定所需的新的宽度和高度。