【问题标题】:Enlarge already big jpegs using less memory使用更少的内存放大已经很大的 jpeg
【发布时间】:2016-04-17 02:14:26
【问题描述】:

我需要放大已经很大的 jpeg,它们用于打印,所以它们需要非常大的 300PPI 文件。生成的图像将太大而无法完全保存在内存中。我认为就像将原始图像分成小条,分别放大它们中的每一个并将其写入输出文件(另一个 jpeg),永远不要将最终图像完全保留在菜单上。我已经阅读了有关 jpeg 上的无损操作的信息,这似乎是可行的方法(使用条创建一个文件并将 mcus、huffman 表和量化表复制到最终文件),还阅读了一些关于 java 上的缩写流的内容。有什么好的方法可以做到这一点?

【问题讨论】:

  • 有趣的注解:2D 图像缩放正是我放弃 2D 游戏编程并转向 3D 的原因。我在缩放图像方面所做的努力总是得出相同的结论:无法正确完成。
  • 为什么你认为你可以比一台好的打印机更好地缩放图像?您基本上只会增加文件大小,而不会提高质量,因为您添加的所有数据都只是从原始图像中插值(或外推)。

标签: java memory jpeg jfif


【解决方案1】:

最好的办法是不理会 JPEG,让打印软件将输出缩放到设备。

如果你真的想加倍大小,你可以使用二次采样。只需将每个方向的 Y 分量加倍并更改 Cb 和 Cr 的采样,同时保留数据。

你也可以照你说的做,重新压缩成单片机。

【讨论】:

  • 如何在没有整个图像的情况下重新压缩片段?
  • 您必须编写一些内容,每次读取 MCU 行,展开并压缩它们。我仍然认为最好的办法是让设备缩放图像。您将无法以这种方式进行平滑处理。
猜你喜欢
  • 2020-06-27
  • 2021-11-16
  • 1970-01-01
  • 2014-11-22
  • 1970-01-01
  • 2014-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多