强烈推荐一款Google开源的Java图片处理类库Thumbnail

1.pom.xml

<!-- 图片处理 -->
<dependency>
    <groupId>net.coobird</groupId>
    <artifactId>thumbnailator</artifactId>
    <version>0.4.8</version>
</dependency>

2. 使用

(1)单个图片等比例缩放

File file = new File("c:\\test.png");
Thumbnails.of(new FileInputStream(file)).scale(3.0).toFile(new File("c:\\yyyyy.png"));
//3.0是一个double类型的数字,缩放比例,大于1就是变大,小于1就是缩小

(2)批量产生缩略图

Thumbnails.of(new File("D:\\pics").listFiles()).scale(0.2).outputFormat("png")
    .toFiles(Rename.PREFIX_DOT_THUMBNAIL);

(3)控制图片质量,图片尺寸不变

Thumbnails.of(fromPic).scale(1f).outputQuality(0.25f).toFile(toPic);  
//outputQuality控制图片质量的

(4)给图片加水印

String basePath = Thread.currentThread().getContextClassLoader().getResource("").getPath();
  Thumbnails.of(new File("F://图片/1.jpg")).size(200, 200)
    .watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File(basePath + "/2.jpg")), 0.25f)
    .outputQuality(0.8f).toFile("F://3.jpg");
//1.jpg是原图,2.jpg是水印图片,3.jpg是生成后的图片,watermark设置水印位置及大小

(5)旋转图片

Thumbnails.of(fromPic).scale(0.5).rotate(90).toFile(toPic);  

作者:仲尼叔叔

来源链接:

https://blog.csdn.net/weixin_40826349/article/details/83795545

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用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 ThumbnailCreator { public static void main(String[] args) { String folderPath = "/path/to/folder"; // 文件夹路径 File folder = new File(folderPath); File[] files = folder.listFiles(); // 获取文件夹下的所有文件 for (File file : files) { if (file.isFile() && isImageFile(file)) { // 判断是否为图片文件 String thumbnailPath = file.getParent() + "/thumbnail_" + file.getName(); // 缩略图路径 createThumbnail(file.getPath(), thumbnailPath, 100, 100); // 创建缩略图 } } } private static boolean isImageFile(File file) { String fileName = file.getName().toLowerCase(); return fileName.endsWith(".jpg") || fileName.endsWith(".jpeg") || fileName.endsWith(".png"); } private static void createThumbnail(String imagePath, String thumbnailPath, int width, int height) { try { BufferedImage sourceImage = ImageIO.read(new File(imagePath)); // 读取原图片 Image thumbnailImage = sourceImage.getScaledInstance(width, height, Image.SCALE_SMOOTH); // 缩放图片 BufferedImage thumbnailBufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); // 创建缩略图 thumbnailBufferedImage.createGraphics().drawImage(thumbnailImage, 0, 0, null); // 绘制缩略图 ImageIO.write(thumbnailBufferedImage, "jpg", new File(thumbnailPath)); // 写入缩略图文件 } catch (IOException e) { e.printStackTrace(); } } } ``` 在上述示例代码中,首先获取文件夹下的所有文件,遍历每个文件并判断是否为图片文件。对于每个图片文件,创建一个缩略图路径,然后调用createThumbnail方法创建缩略图。createThumbnail方法中,首先读取原图片,然后缩放图片到指定的宽度和高度,接着创建一个缩略图的BufferedImage对象,最后将缩略图绘制到BufferedImage中并写入缩略图文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值