0
我使用imagescalr調整圖像大小,但我也想壓縮圖像,使大小保持在32kb以下(即8支持base64字符串高達32kb)。我正在調整這樣的圖像壓縮圖像,使用imageScalr
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]
}
我想要一種方式,以便我可以用最少的代碼壓縮。
* 「(如IE 8支持的base64字符串高達32KB)」 *有趣。到目前爲止,我已經發現了幾種用於將圖像編碼爲基本64字符串的用例,這兩種用於在瀏覽器中輕鬆顯示客戶端生成的圖像的功能,以及繪製應用程序的「撤銷/重做」功能。這裏的用例是什麼? –
我有數據庫中blob形式的圖像,用於在瀏覽器中顯示它們,我將它們轉換爲服務器上的base64字符串並將它們發送到瀏覽器,現在我有兩個用例1.顯示縮略圖(這是150X150圖像),因此大小通常保持在32kb以下,並且正確顯示。2.當用戶單擊縮略圖時顯示圖像的放大版本,這需要至少500X344,這就是問題所在。所以我基本上想要將圖像與調整大小一起壓縮,Imagescalr不提供任何開箱即用的選項。 –