画像のサイズ変更に imagescalr を使用していますが、サイズが 32kb 未満になるように画像を圧縮したいと考えています (つまり、8 は最大 32kb の base64 文字列をサポートしているため)。私はこのように画像のサイズを変更しています
Map resizeImage(BufferedImage imageData, int width, int height, String imageFormat){
BufferedImage thumbnail = Scalr.resize(imageData, Scalr.Method.SPEED, Scalr.Mode.FIT_EXACT ,
width, height, Scalr.OP_ANTIALIAS);
ByteArrayOutputStream baos = new ByteArrayOutputStream()
ImageIO.write(thumbnail, imageFormat, baos)
baos.flush()
byte[] imageBytes = baos.toByteArray()
baos.close()
return [imageBytes:imageBytes, imageFormat:imageFormat]
}
コードの変更を最小限に抑えて圧縮できる方法が必要です。