jiazf523 发表于 2008-6-10 17:23:00

请问有什么办法通过真彩色(RGB)来获取对应的索引颜色呢?

我在用C#程序将图形导出为dxf文件的时候,由于要导出颜色,原来的颜色采用的是真彩色,但dxf里面只支持索引颜色,我在网上只是查到可以通过索引号查到对应的RGB,但是有没有相反的操作呢?在AutoCad2004中如果选择了真彩色做图层颜色,保存为DXF文件的时候它如转为索引颜色,看来autocad内部是集成了转换的,但我在导出的时候用什么函数,或者什么算法呢?请高手帮忙!!

ayunger 发表于 2008-6-10 17:54:00

<p>请搜一下,网上有的,以前见过,且不止一次。</p>

lvbaoqi 发表于 2008-6-17 22:02:00

网上见的,转发一下
;;; 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]
查看完整版本: 请问有什么办法通过真彩色(RGB)来获取对应的索引颜色呢?