我正在开发一款可以从1080p视频中生成.png图像的应用。但是png是以MB为单位的,甚至我的应用程序也因为大小的png而崩溃。我想压缩或类似的东西来减少每个png的大小。我已经完成了很多方法,例如createScaledBitmap
,或者compress(CompressFormat.PNG, 20, stream);
或Bitmap.createBitmap(source, 0, 0, source.getWidth(),source.getHeight(), m, true);
也搜索了很多方法。
但它并没有像我想的那样减小尺寸。它仍然是每png 2.2+ MB。
除了这些以外的任何想法。感谢。
答案 0 :(得分:0)
我也正在构建一个处理高分辨率图像但在服务器端的应用程序。我正在使用thumbnailator-0.4.8.jar在服务器端压缩和重新调整图像大小。示例
InputStream in = new ByteArrayInputStream(bytes);
BufferedImage bImageFromConvert = ImageIO.read( in );
BufferedImage newImage = Thumbnails.of(bImageFromConvert).size(213, 316).asBufferedImage();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(newImage, "jpg", baos);
baos.flush();
retVal = baos.toByteArray();
baos.close();