![]() |
【转帖】请问有什么办法通过真彩色(rgb)来获取对应的索引颜色呢?
请问有什么办法通过真彩色(rgb)来获取对应的索引颜色呢?
www.dimcax.com 请问有什么办法通过真彩色(rgb)来获取对应的索引颜色呢?我在用c#程序将图形导出为dxf文件的时候,由于要导出颜色,原来的颜色采用的是真彩色,但dxf里面只支持索引颜色,我在网上只是查到可以通过索引号查到对应的rgb,但是有没有相反的操作呢?在autocad 若已知道rgb,可以使用autodesk.autocad.colors.color 的构造函数 public static autodesk.autocad.colors.color fromrgb(byte red, byte green, byte blue) 生成一个color, 然后通过color的colorindex属性应该就可以得到索引颜色值 当然也可以通过计算的方法获得 colorindex = r + g * 256 + b * 256 * 256 需要说明这里所说的索引与dxf颜色的索引是不等同的, 因为dxf颜色的取值范围只是0~256,而上面的索引范围是0~256^3 而你提到的真彩色取值应该比rgb颜色范围更大 具体的dxf颜色索引与rgb是有个表的对应关系的,不好意思我现在找不到那个表, 那个表里rgb的取值不是连续的 大概是0 10 20 40 70 255 这样子。 你好,我是在网上查到了这个doslib,可以实现来回的转换: doslib 7.3 dos_rgbtoaci dos_acitorgb 函数需要三个参数值而非一个表 但是不知道doslib可否集成到vs |
所有的时间均为北京时间。 现在的时间是 09:23 PM. |