获取 BufferedImage outputImage 返回图片的 大小
时间: 2023-08-25 20:13:16 浏览: 109
要获取压缩后的 `BufferedImage` 对象的大小,你可以使用 `outputImage.getWidth()` 和 `outputImage.getHeight()` 方法分别获取宽度和高度这些方法返回的是像素为单位的图片尺寸。
以下是一个示例代码,展示如何获取压缩后的图片大小:
```java
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class ImageCompression {
public static void main(String[] args) {
try {
// 读取原始图片
File inputFile = new File("input.jpg");
BufferedImage inputImage = ImageIO.read(inputFile);
// 创建一个空白的缓冲图像,设置尺寸和类型
BufferedImage outputImage = new BufferedImage(inputImage.getWidth(), inputImage.getHeight(), BufferedImage.TYPE_INT_RGB);
// 创建图形上下文
Graphics2D graphics = outputImage.createGraphics();
// 使用缩放算法压缩图片
graphics.drawImage(inputImage, 0, 0, outputImage.getWidth(), outputImage.getHeight(), null);
// 获取压缩后的图片大小
int width = outputImage.getWidth();
int height = outputImage.getHeight();
// 保存压缩后的图片
File outputFile = new File("output.jpg");
ImageIO.write(outputImage, "jpg", outputFile);
System.out.println("压缩后的图片大小:宽度=" + width + ",高度=" + height);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上述代码中,我们在获取压缩后的图片大小后,使用 `width` 和 `height` 变量分别存储宽度和高度,并在控制台打印出来。你可以根据需要进一步处理这些尺寸信息。
阅读全文