请问有什么办法通过真彩色(RGB)来获取对应的索引颜色呢?
我在用C#程序将图形导出为dxf文件的时候,由于要导出颜色,原来的颜色采用的是真彩色,但dxf里面只支持索引颜色,我在网上只是查到可以通过索引号查到对应的RGB,但是有没有相反的操作呢?在AutoCad2004中如果选择了真彩色做图层颜色,保存为DXF文件的时候它如转为索引颜色,看来autocad内部是集成了转换的,但我在导出的时候用什么函数,或者什么算法呢?请高手帮忙!! <p>请搜一下,网上有的,以前见过,且不止一次。</p> 网上见的,转发一下;;; Only for AutoCAD 2004
(defun RGBtoACI (RGB-codes)
(vl-load-com)
(setq ColorObj (vla-GetInterfaceObject
(vlax-get-acad-object)
"AutoCAD.AcCmColor.16"
)
)
(vla-setRGB ColorObj (car RGB-codes) (cadr RGB-codes) (caddr RGB-codes))
; alternatively done as below
; (vlax-invoke-methodColorObj 'setRGB (car RGB-codes) (cadr RGB-codes) (caddr RGB-codes))
(vla-get-ColorIndex ColorObj)
)
页:
[1]