请问有什么办法通过真彩色(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