为什么Excel中RGB值是倒过来的?

4

这个函数是一个例子,需要注意的是RGB值实际上是BGR值。为什么Excel会这样做呢?

 Function GetRGB(ByVal cell As Range) As String

 Dim R As String, G As String
 Dim b As String, hexColor As String
 hexCode = Hex(cell.Interior.Color)

 'Note the order excel uses for hex is BGR.
 b = Val("&H" & Mid(hexCode, 1, 2))
 G = Val("&H" & Mid(hexCode, 3, 2))
 R = Val("&H" & Mid(hexCode, 5, 2))

 GetRGB = R & ":" & G & ":" & b
 End Function

简单来说,数字是从右到左而不是从左到右。至于为什么微软会这样做...我猜这与RGB R首先出现有关,因此它是右侧的第一个数字。一些疯狂的逻辑,但只要它是一致的...耸肩。 - xQbert
我想知道这是否与我们(在大多数语言中)从左到右阅读文本,但数字从右到左增加有关。 - Ron Rosenfeld
1个回答

4

Excel RGB值并非反过来,实际上Excel或更广义地说,Windows使用BGR颜色模型。

参考链接:

a. 链接1 b. 链接2 c. 链接3


嗯,我只是想说你已经知道要反转什么了。不敢阻止你去追求它们。 - ZAT

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接