提问人:KripDo 提问时间:10/12/2023 更新时间:10/12/2023 访问量:63
将图像压缩为 100 KB
Compress image to 100 KB
问:
我需要将图像压缩到 100 kB,以便将其上传到 Active Directory。我写了这段代码,但它不适用于所有图像尺寸。在循环的某个迭代中,它只是保留相同的图像大小。
private static byte[] compressImage(byte[] originalImage) throws IOException {
ByteArrayInputStream originalImageStream = new ByteArrayInputStream(originalImage);
ByteArrayOutputStream compressedImageStream = new ByteArrayOutputStream();
Thumbnails.of(originalImageStream)
.scale(1)
.outputQuality(COMPRESSION_QUALITY)
.toOutputStream(compressedImageStream);
byte[] compressedImageBytes = compressedImageStream.toByteArray();
if (compressedImageBytes.length <= MAX_SIZE_IN_BYTES) {
return compressedImageBytes;
}
return compressImage(compressedImageBytes);
}
我尝试用纯 Java 编写,出现了同样的问题
答: 暂无答案
评论