java 生成图片缩略图怎么做
时间: 2023-07-05 08:36:47 浏览: 186
你可以使用 Java 提供的 ImageIO 类和 BufferedImage 类来生成图片缩略图。下面是一个简单的示例代码:
```
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class ThumbnailGenerator {
public static void main(String[] args) throws IOException {
// 源图文件路径
File sourceFile = new File("source.jpg");
// 缩略图文件路径
File thumbnailFile = new File("thumbnail.jpg");
// 缩略图大小
int thumbnailWidth = 100;
int thumbnailHeight = 100;
// 读取源图
BufferedImage sourceImage = ImageIO.read(sourceFile);
// 创建缩略图
BufferedImage thumbnailImage = new BufferedImage(thumbnailWidth, thumbnailHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = thumbnailImage.createGraphics();
g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g2d.drawImage(sourceImage, 0, 0, thumbnailWidth, thumbnailHeight, null);
g2d.dispose();
// 写入缩略图文件
ImageIO.write(thumbnailImage, "jpg", thumbnailFile);
}
}
```
在该示例中,我们首先指定了源图文件路径和缩略图文件路径,然后指定了缩略图的大小。接着,我们使用 ImageIO 类的 read() 方法读取源图,并使用 BufferedImage 类的 createGraphics() 方法创建了一个 Graphics2D 对象,然后使用 Graphics2D 对象的 drawImage() 方法将源图绘制到缩略图上,并指定了插值算法。最后,我们使用 ImageIO 类的 write() 方法将缩略图写入文件。
阅读全文