1

我正在使用 android 自定义相机来捕获 JPG 图像,但无法在 Windows 照片查看器上预览它们。任何人都可以请建议。使用其他应用程序(如 Ms Paint、Office、Windows 10 Photo 应用程序)可以看到图像。

在此处输入图像描述

4

2 回答 2

0

这显然是由 Android 将添加到位图中的 ICC 颜色配置文件引起的。Windows 照片查看器无法显示具有该 ICC 颜色配置文件的图像。

我还没有发现这个 ICC 配置文件是如何生成的,我假设这是由 Android Bitmap.compress 函数完成的。

使用 ImageMagick 等删除配置文件将“修复”文件,它们也将在照片查看器中打开。

于 2021-05-17T09:42:47.100 回答
0

从 Android 10 开始,Bitmap.compress() 似乎添加了 ICC 配置文件。

此问题是由添加的 ICC 配置文件中的版本值不正确引起的。此问题已在 skia 问题跟踪器上报告并修复。我不知道它什么时候会在Android上修复。
https://bugs.chromium.org/p/skia/issues/detail?id=12491

因此,从使用 Bitmap.compress() 生成的 jpeg 图像中删除 ICC 配置文件似乎是目前最好的方法。要以编程方式解决它,您需要解析使用 Bitmap.compress() 生成的 JPEG 数据以删除 ICC 配置文件段。

于 2021-10-07T10:46:59.870 回答