1

我正在解析某些软件提供的 XML 文件。部分解析是从某些属性中提取颜色。我遇到的问题是颜色是 12 位十六进制值。IE,

<Text AdornmentStyle="0" Background="#FFFFFFFFFFFF" Color="#DD6B08C206A2" Font="Courier Final Draft" RevisionID="0" Size="12" Style="">Test</Text>

如您所见,颜色为 12 位长。我需要获得 6 位颜色,以便可以在 html 上正确显示。

有没有人遇到过这个?

希望你能给点建议。

4

1 回答 1

4

以前从未见过 12 位十六进制颜色字符串。每个通道必须使用 2 个字节,这意味着如果您转换它,您将丢失一些信息。

我相信颜色是格式#RRRRGGGGBBBB,所以取每 4 个 hexgits 并除以 (16^4/16^2)=256,如有必要,四舍五入。那应该这样做。

...如果这不能为您提供正确的颜色,请尝试 CMYK,就像 cypher 建议的那样:(#CCCMMMYYYKKK每通道 12 位)。

例如,转换DD6B08C206A2做:

0xDD6B / 0x100 = 0xDD
0x08C2 / 0x100 = 0x08
0x06A2 / 0x100 = 0x06

把它们放回去,你就得到了#DD0806

于 2012-06-16T19:34:13.493 回答