【问题标题】:Optimize JPG images in memory with Java使用 Java 优化内存中的 JPG 图像
【发布时间】:2014-04-08 13:54:59
【问题描述】:

我有 REST 服务,允许用户上传图像,然后提供这些图像。图像被存储到数据库中。我想对这些图片进行 JPG 优化。

有几个命令行工具可以做到这一点,但我不想先将它们保存到磁盘然后运行一些命令行工具。我宁愿使用一些Java库来直接对包含图像数据的二进制流进行操作。

我所追求的是类似于 Trimage 所做的处理:

  • 从图像中删除所有 EXIF 元数据
  • 无损(重新)压缩到最高可用压缩级别

这可能吗?

【问题讨论】:

  • 简短回答:是的,这是可能的。您能否具体列举一下您想对图像做什么。删除元数据。还有什么?
  • 你应该使用更具体和技术性的措辞,在这一点上,即使是网络搜索也能做到这一点。例如“元数据”你可能指的是exifgoogle.com/#q=java+strip+exif
  • 我的谷歌搜索返回的库似乎都是对文件进行操作..
  • @haraldK 通常可以在不损失质量的情况下进一步压缩 jpeg。显然它是基于(至少)优化霍夫曼表。除此之外,元数据和有时颜色配置文件可以被剥离。

标签: java image-processing jpeg


【解决方案1】:

可以从数据流中删除无关的 APPn 和 COM 标记。您无需展开和重新压缩即可做到这一点。

每次使用不同的量化表进行扩展和解压缩时,都会丢失 JPEG 中的数据。解压没什么意义。

对问题 #1 是的。对问题 #2 说不。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-23
    • 1970-01-01
    • 2010-10-18
    • 1970-01-01
    相关资源
    最近更新 更多