java 图片指定长宽并保存
时间: 2024-10-16 18:22:04 浏览: 22
在Java中,如果你想将图片指定特定的长宽并保存,你可以使用`BufferedImage`类结合`ImageIO.write()`方法来操作。以下是简单的步骤:
1. 首先,你需要读取原始图片到`BufferedImage`对象,例如使用`ImageIO.read()`方法。
```java
BufferedImage originalImage = ImageIO.read(new File("path_to_your_image.jpg"));
```
2. 然后,创建一个新的`BufferedImage`,设置所需的宽度和高度。这里假设我们想要保持宽高比:
```java
int targetWidth = 500;
int targetHeight = (int) Math.round((double)targetWidth / originalImage.getWidth() * originalImage.getHeight());
BufferedImage resizedImage = new BufferedImage(targetWidth, targetHeight, BufferedImage.TYPE_INT_RGB);
```
注意:如果你不想保持宽高比,可以直接指定目标宽度和高度。
3. 接下来,我们可以使用`Graphics2D`对象缩放并绘制到新图像上:
```java
Graphics2D g = resizedImage.createGraphics();
g.drawImage(originalImage, 0, 0, targetWidth, targetHeight, null);
g.dispose();
```
4. 最后,将处理后的图像保存:
```java
try {
ImageIO.write(resizedImage, "jpg", new File("new_image_path.jpg"));
} catch (IOException e) {
e.printStackTrace();
}
```
阅读全文