java 更改图片尺寸
时间: 2023-10-15 11:04:36 浏览: 37
你可以使用 Java 的 ImageIO 类和 BufferedImage 类来更改图片尺寸。下面是一个简单的例子:
```java
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ResizeImage {
public static void main(String[] args) throws IOException {
File inputFile = new File("input.jpg");
BufferedImage inputImage = ImageIO.read(inputFile);
// 指定新的宽度和高度
int newWidth = 100;
int newHeight = 100;
// 创建一个 BufferedImage 对象,指定新的宽度和高度
BufferedImage outputImage = new BufferedImage(newWidth, newHeight, inputImage.getType());
// 获取 Graphics2D 对象
Image image = inputImage.getScaledInstance(newWidth, newHeight, Image.SCALE_SMOOTH);
outputImage.createGraphics().drawImage(image, 0, 0, null);
// 保存新图片到文件
File outputFile = new File("output.jpg");
ImageIO.write(outputImage, "jpg", outputFile);
}
}
```
这个例子中,我们首先从文件读取一个 BufferedImage 对象。然后指定新的宽度和高度,并创建一个新的 BufferedImage 对象。接着获取 Graphics2D 对象,并使用 drawImage() 方法将原图缩放到新的尺寸。最后将新的 BufferedImage 对象保存到文件中。
注意,这个例子中使用的是 Image.SCALE_SMOOTH 缩放算法,这个算法会使缩放后的图片质量更好,但也会消耗更多的时间和内存。如果你对时间和内存要求较高,可以使用 Image.SCALE_FAST 缩放算法,但缩放后的图片质量可能会比较差。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)