首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ImageMagic如何确定PNG的ColorSpace?

ImageMagic如何确定PNG的ColorSpace?
EN

Stack Overflow用户
提问于 2021-01-14 12:07:26
回答 2查看 79关注 0票数 0

假设我用以下命令创建一个简单的PNG:

代码语言:javascript
复制
convert -size 1x1 canvas:red red.png

下面是一个类似的图片(更大的尺寸)以供参考:

然后在其上运行命令identify。它告诉我图像的ColorSpace是sRGB,但在文件中似乎没有这方面的指示。实际上正在运行

代码语言:javascript
复制
$ hexdump -C red.png 
00000000  89 50 4e 47 0d 0a 1a 0a  00 00 00 0d 49 48 44 52  |.PNG........IHDR|
00000010  00 00 00 01 00 00 00 01  01 03 00 00 00 25 db 56  |.............%.V|
00000020  ca 00 00 00 04 67 41 4d  41 00 00 b1 8f 0b fc 61  |.....gAMA......a|
00000030  05 00 00 00 20 63 48 52  4d 00 00 7a 26 00 00 80  |.... cHRM..z&...|
00000040  84 00 00 fa 00 00 00 80  e8 00 00 75 30 00 00 ea  |...........u0...|
00000050  60 00 00 3a 98 00 00 17  70 9c ba 51 3c 00 00 00  |`..:....p..Q<...|
00000060  06 50 4c 54 45 ff 00 00  ff ff ff 41 1d 34 11 00  |.PLTE......A.4..|
00000070  00 00 01 62 4b 47 44 01  ff 02 2d de 00 00 00 07  |...bKGD...-.....|
00000080  74 49 4d 45 07 e5 01 0d  17 04 37 80 ef 04 02 00  |tIME......7.....|
00000090  00 00 0a 49 44 41 54 08  d7 63 60 00 00 00 02 00  |...IDAT..c`.....|
000000a0  01 e2 21 bc 33 00 00 00  25 74 45 58 74 64 61 74  |..!.3...%tEXtdat|
000000b0  65 3a 63 72 65 61 74 65  00 32 30 32 31 2d 30 31  |e:create.2021-01|
000000c0  2d 31 33 54 32 33 3a 30  34 3a 35 35 2b 30 30 3a  |-13T23:04:55+00:|
000000d0  30 30 2d af d4 01 00 00  00 25 74 45 58 74 64 61  |00-......%tEXtda|
000000e0  74 65 3a 6d 6f 64 69 66  79 00 32 30 32 31 2d 30  |te:modify.2021-0|
000000f0  31 2d 31 33 54 32 33 3a  30 34 3a 35 35 2b 30 30  |1-13T23:04:55+00|
00000100  3a 30 30 5c f2 6c bd 00  00 00 00 49 45 4e 44 ae  |:00\.l.....IEND.|
00000110  42 60 82                                          |B`.|
00000113

据我所知没有提供线索。

我知道,识别不包含该信息的图像的颜色是一个非常困难的问题--请参阅查看颜色直方图( ColorSpace here )的一个建议的解决方案。

那么ImageMagick套件中的identify是如何确定这个镜像的ColorSpace的呢?

EN

回答 2

Stack Overflow用户

发布于 2021-01-14 17:20:43

常见但未标准化的是,假设没有嵌入或侧面的ICC简档或没有显式编码描述的图像是根据IEC 61966-2-1:1999,即sRGB规范来编码的。

票数 1
EN

Stack Overflow用户

发布于 2021-05-05 17:51:28

这只是ImageMagick中的一个错误。您可以使用exiftool检查是否存在sRGB +意图块。在这种情况下,不是。

Gamma 2.2不是sRGB。因此,ImageMagic在这里是错误的。这是维基百科上的一个常见问题,所有转换为PNG的SVG图像都有这个问题,而且会破坏颜色。请参阅:https://phabricator.wikimedia.org/T26768

我们将不得不对维基百科上的所有图片进行重新编码,因为我们使用了ImageMagick。叹一口气。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65713296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档