作者:绿色风
分类:
时间:2022-08-17
浏览:136
楼主 chrisfang |
Q:如何将整型颜色数值与RGB颜色值进行换算? A:Excel中所使用的颜色除了可以用索引号表示以外,还可以用具体颜色数值来表示,其中Long型的颜色数值与RGB格式的数值存在着换算关系,公式如下: iColor = R + G * 256 + B * 256 * 256
因此,将Long型颜色数值转换为RGB三个数值的VBA代码可以这样写:
- R = (iColor) \ 256 ^ 0 Mod 256
- G = (iColor) \ 256 ^ 1 Mod 256
- B = (iColor) \ 256 ^ 2 Mod 256
-
或
- B = iColor \ 65536
- G = (iColor - B * 65536) \ 256
- R = iColor - B * 65536 - G * 256
而已知RGB三数值要转换为Long型整数颜色值,则比较简单,可以直接使用RGB函数:
- iColor=RGB(R,G,B)
|
2楼 い卋玑┾宝珼 |
原来是这么换的 |
3楼 0Mouse |
iColor = R + G * 256 + B * 256 * 256 这个式子右边有3个变量,又不知道R、G、B三者之间的换算关系,就能直接得出: R = (iColor) \ 256 ^ 0 Mod 256?我没看懂。
西西能指点一哈不?
|
4楼 い卋玑┾宝珼 |
你不是已经知道了嘛
一个icolor是3个八位数组成哇,最前8位是B,中间的8位是G,后面8位是R
然后一个8位不是2^8,也就是256呗,然后通过这样的等式取出对应的8位呗 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一