Java 安卓系统上无损耗JPG裁剪而不丢失EXIF

Java 安卓系统上无损耗JPG裁剪而不丢失EXIF,java,android,jpeg,exif,lossless,Java,Android,Jpeg,Exif,Lossless,我在Android应用程序上为JPG文件实现了裁剪功能,要求非常严格: 必须保留EXIF 作物必须是(因此,作物只能在某些地方进行,这没关系) 应用程序大小非常严格,所以任何需要的库都应该小于等于300KB,理想情况下没有库 问题有点类似,但不幸的是,第一个解决方案使用了Android上不可用的javax.imageio.imageio,而第二个解决方案使用的库太大,690 KB 有没有办法做到这一点,最好是使用标准的Android类?你不太可能从货架上找到这样的东西。你将限制自己沿着MCU

我在Android应用程序上为JPG文件实现了裁剪功能,要求非常严格:

  • 必须保留EXIF
  • 作物必须是(因此,作物只能在某些地方进行,这没关系)
  • 应用程序大小非常严格,所以任何需要的库都应该小于等于300KB,理想情况下没有库
问题有点类似,但不幸的是,第一个解决方案使用了Android上不可用的
javax.imageio.imageio
,而第二个解决方案使用的库太大,690 KB


有没有办法做到这一点,最好是使用标准的Android类?

你不太可能从货架上找到这样的东西。你将限制自己沿着MCU边界种植作物。MCU的大小取决于各种组件的采样率


这不是一项微不足道的任务。

你不太可能从货架上找到这样的东西。你将限制自己沿着MCU边界种植作物。MCU的大小取决于各种组件的采样率


这不是一项简单的任务。

我没有尝试过,但他们在从图像中提取exif数据、将其转换为裁剪位图并通过添加提取的exif数据将其压缩回来方面是否存在任何性能问题?@MohammedAtif:不幸的是,我不是JPG专家,但我相信无损JPG裁剪可以在没有解压缩/再压缩的情况下完成,这在内存和CPU使用方面会更好。但是,不使用这种技术的答案仍然可以,所以请随意发布:-)也许一个新的答案会有用吗?我不知道库的大小,但你可能只需要撕下你需要的部分。@haraldK:太好了!这当然比自己重新实现JPG算法要好。请随意发布一个答案:-)我没有尝试过,但他们在从图像中提取exif数据、将其转换为裁剪位图并通过添加提取的exif数据将其压缩回来方面是否存在任何性能问题?@MohammedAtif:不幸的是,我不是JPG专家,但我相信无损JPG裁剪可以在没有解压缩/再压缩的情况下完成,这在内存和CPU使用方面会更好。但是,不使用这种技术的答案仍然可以,所以请随意发布:-)也许一个新的答案会有用吗?我不知道库的大小,但你可能只需要撕下你需要的部分。@haraldK:太好了!这当然比自己重新实现JPG算法要好。请随意发布答案:-)是的,完全正确,裁剪仅沿MCU边界进行,您正确理解了问题。是的,完全正确,裁剪仅沿MCU边界进行,您正确理解了问题。