【问题标题】:Compress a 1080p video pngs into small size将 1080p 视频 png 压缩成小尺寸
【发布时间】:2015-06-06 21:22:41
【问题描述】:

我正在开发一个从 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。 除了这些之外的任何想法。谢谢。

【问题讨论】:

  • 我也在构建一个处理高分辨率图像的应用程序。但在服务器端,我使用“thumbnailator-0.4.8.jar”在服务器端压缩和重新调整图像大小。
  • 您会发现有关此问题/答案的信息很有帮助。 stackoverflow.com/a/10652312/940834
  • 位图占用大量内存。如果 PNG 为 2.2+MB,您可以假设位图会更大。您需要压缩为有损图像格式 (JPEG),或降低 PNG 的大小/质量。您最好转换为 JPG。
  • 尝试使用compress(CompressFormat.JPEG, 50, stream);
  • @Der Golem,先生,我只能使用 .png 图像,我不能使用 jpeg 图像

标签: android bitmap


【解决方案1】:

我还在构建一个在服务器端处理高分辨率图像的应用程序。我正在使用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();

【讨论】:

  • @Marco 抱歉回复晚了,我会试试这个来源。
猜你喜欢
  • 2011-05-09
  • 1970-01-01
  • 1970-01-01
  • 2018-11-09
  • 1970-01-01
  • 1970-01-01
  • 2015-10-18
  • 2011-05-06
  • 2023-02-04
相关资源
最近更新 更多