JAVA中如何实现图片转缩略图
时间: 2023-03-24 12:02:17 浏览: 145
可以使用Java提供的ImageIO类和缩放算法来实现图片的缩略图。具体步骤如下:
1. 读取原始图片,使用ImageIO.read()方法。
2. 创建一个BufferedImage对象,使用原始图片的宽度和高度作为参数。
3. 获取Graphics2D对象,使用BufferedImage对象的createGraphics()方法。
4. 设置Graphics2D对象的渲染质量和抗锯齿。
5. 使用Graphics2D对象的drawImage()方法将原始图片绘制到BufferedImage对象中。
6. 使用ImageIO.write()方法将BufferedImage对象保存为缩略图。
7. 关闭Graphics2D对象和输入输出流。
示例代码如下:
```
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class ImageUtils {
public static void createThumbnail(String sourceImagePath, String targetImagePath, int targetWidth, int targetHeight) throws Exception {
BufferedImage sourceImage = ImageIO.read(new File(sourceImagePath));
BufferedImage targetImage = new BufferedImage(targetWidth, targetHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics2D = targetImage.createGraphics();
graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
graphics2D.drawImage(sourceImage, , , targetWidth, targetHeight, null);
ImageIO.write(targetImage, "JPEG", new File(targetImagePath));
graphics2D.dispose();
}
}
```
调用示例:
```
ImageUtils.createThumbnail("source.jpg", "target.jpg", 100, 100);
```