java判断图片如果低于60kb,就用 Thumbnails 扩大到60KB
时间: 2023-02-16 07:59:06 浏览: 95
可以使用Java的ImageIO类读取图片文件并获取其大小,如果图片大小低于60KB,就使用Thumbnails类将图片放大到60KB。
代码示例:
```
File imageFile = new File("image.jpg");
long size = imageFile.length();
if(size < 60000){
BufferedImage image = ImageIO.read(imageFile);
Thumbnails.of(image).size(600, 800).outputQuality(0.9f).toFile("image_new.jpg");
}
```
相关问题
java 中用 Thumbnails 缩放MultipartFile 到1M
在Java中使用Thumbnails库可以很方便地缩放MultipartFile对象。以下是一个示例代码:
```java
import net.coobird.thumbnailator.Thumbnails;
import org.springframework.web.multipart.MultipartFile;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
public class ImageUtils {
public static byte[] resizeTo1M(MultipartFile file) throws IOException {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
Thumbnails.of(file.getInputStream())
.size(1024, 1024)
.outputQuality(0.8)
.toOutputStream(outputStream);
while (outputStream.size() > 1024 * 1024) {
outputStream.reset();
Thumbnails.of(file.getInputStream())
.size((int) (0.8 * file.getSize()), (int) (0.8 * file.getSize()))
.outputQuality(0.8)
.toOutputStream(outputStream);
}
return outputStream.toByteArray();
}
}
```
这段代码使用Thumbnails库将MultipartFile对象缩放到1M以内。代码首先创建一个`ByteArrayOutputStream`对象作为输出流,然后使用Thumbnails库对输入流进行缩放操作,并将结果输出到输出流中。然后通过检查输出流的大小,如果大小超过1M,则将缩放的尺寸再次减小为原来的80%并重试,直到输出流的大小满足要求。
java 使用Thumbnails进行压缩图片为什么有的图片可以压缩有的不可以
您好!关于使用Thumbnails进行图片压缩,有些图片可以压缩而有些不可以的主要原因可能是以下几个方面:
1. 图片格式:Thumbnails支持常见的图片格式,如JPEG、PNG、GIF等。如果您的图片格式不受支持,就无法进行压缩操作。
2. 图片大小:Thumbnails对于过大的图片可能会限制压缩操作。这是为了防止因过大的图片导致内存溢出或性能下降。如果您的图片尺寸超过了一定限制,就可能无法进行压缩。
3. 图片质量:有些图片本身已经经过了压缩或优化处理,再进行压缩可能会导致失真或质量下降。如果您的图片已经是高度压缩或优化过的,就可能不适合再进行额外的压缩操作。
4. 图片损坏:有些图片可能存在损坏或不完整的情况,这种情况下Thumbnails可能无法正确读取或处理图片,导致无法进行压缩。
综上所述,图片是否可以被Thumbnails压缩取决于图片格式、大小、质量以及是否损坏等因素。如果您遇到无法压缩的图片,可以检查一下这些方面是否符合要求。