如何实现Java压缩图片 BufferedImage
流程图
flowchart TD
Start[开始]
Step1[加载原始图片]
Step2[设置压缩比例]
Step3[创建目标图片]
Step4[压缩图片]
End[结束]
Start-->Step1
Step1-->Step2
Step2-->Step3
Step3-->Step4
Step4-->End
任务步骤
步骤 | 描述 | 代码示例 |
---|---|---|
1 | 加载原始图片 | BufferedImage originalImage = ImageIO.read(new File("original.jpg")); |
2 | 设置压缩比例 | double scaleFactor = 0.5; // 压缩比例为50% |
3 | 创建目标图片 | int newWidth = (int) (originalImage.getWidth() * scaleFactor); <br> int newHeight = (int) (originalImage.getHeight() * scaleFactor); <br> BufferedImage resizedImage = new BufferedImage(newWidth, newHeight, originalImage.getType()); |
4 | 压缩图片 | Graphics2D g = resizedImage.createGraphics(); <br> g.drawImage(originalImage, 0, 0, newWidth, newHeight, null); <br> g.dispose(); |
代码示例
// 加载原始图片
BufferedImage originalImage = ImageIO.read(new File("original.jpg"));
// 设置压缩比例
double scaleFactor = 0.5; // 压缩比例为50%
// 创建目标图片
int newWidth = (int) (originalImage.getWidth() * scaleFactor);
int newHeight = (int) (originalImage.getHeight() * scaleFactor);
BufferedImage resizedImage = new BufferedImage(newWidth, newHeight, originalImage.getType());
// 压缩图片
Graphics2D g = resizedImage.createGraphics();
g.drawImage(originalImage, 0, 0, newWidth, newHeight, null);
g.dispose();
在上面的代码示例中,首先我们加载了原始图片,然后设置了压缩比例为50%。接着我们创建了一个目标图片,根据设置的压缩比例计算出新的宽度和高度。最后,我们使用Graphics2D类将原始图片绘制到目标图片上,实现了图片的压缩。
希望通过这篇文章,你能够掌握如何在Java中压缩图片使用BufferedImage这个类。祝你学习顺利!