使用Java优化内存中的JPG图像
我有一个REST服务,它允许用户上传图像,然后为这些图像提供服务。图像存储到数据库中。我想对这些图像进行JPG优化 有几个命令行工具可以实现这一点,但我不想先将它们保存到磁盘,然后运行一些命令行工具。我宁愿使用一些Java库直接对包含图像数据的二进制流进行操作 我所追求的是一种类似于例如所做的治疗:使用Java优化内存中的JPG图像,java,image-processing,jpeg,Java,Image Processing,Jpeg,我有一个REST服务,它允许用户上传图像,然后为这些图像提供服务。图像存储到数据库中。我想对这些图像进行JPG优化 有几个命令行工具可以实现这一点,但我不想先将它们保存到磁盘,然后运行一些命令行工具。我宁愿使用一些Java库直接对包含图像数据的二进制流进行操作 我所追求的是一种类似于例如所做的治疗: 从映像中删除所有EXIF元数据 无损(重新)压缩到最高可用压缩级别 这可能吗?可以从数据流中删除无关的APPn和COM标记。无需展开和重新压缩即可完成此操作 每次使用不同的量化表展开和解压缩时,
- 从映像中删除所有EXIF元数据
- 无损(重新)压缩到最高可用压缩级别
这可能吗?可以从数据流中删除无关的APPn和COM标记。无需展开和重新压缩即可完成此操作 每次使用不同的量化表展开和解压缩时,都会丢失JPEG格式的数据。解压没有真正的意义
对问题1是。问题2的答案是否定的。简短回答:是的,这是可能的。你能具体列举一下你想用这个图像做什么吗。删除元数据。还有什么?你应该使用更具体和技术性的措辞,在这一点上,即使是网络搜索也可以做到。例如,对于“元数据”,您可能指的是
exif
My google Searchs返回的库,这些库似乎都在文件上运行。@haraldK通常可以进一步压缩JPEG而不降低质量。显然,它(至少)基于优化哈夫曼表。除此之外,还可以剥离元数据,有时还可以剥离颜色配置文件。