明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 9125|回复: 5

关于“AutoCAD索引颜色(ACI)与RGB颜色对照表”

[复制链接]
发表于 2002-12-19 10:39:00 | 显示全部楼层 |阅读模式
很想知道,坛主在2002.7.22日资料库中提供的“AutoCAD索引颜色(ACI)与RGB颜色对照表”与本人自己对CAD的color的测试为何差别这么大?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2002-12-19 14:43:00 | 显示全部楼层

不知你是用何种程序生成的对照颜色,我们用以下程序生成的颜色与表格一样

Public Sub TEST_Color()
  Dim objEnt As AcadEntity
  Dim varPnt As Variant
  Dim strPrmt As String
  Dim ACI As Integer
  Dim R As Integer
  Dim G As Integer
  Dim B As Integer
  Dim RGB As Variant
  Dim str As String
  Open "d:\txt.txt" For Output As #1
  Print #1, "'本对照表由明经通道提供的程序生成"
  ACI = 1
  On Error GoTo Err_Control
  For ACI = 1 To 255
  GetRGB ACI, R, G, B
  Print #1, "CAD colorindex :   "; ACI & ",   RGB(" & R & "," & G & "," & B & ")"
  Next
  Close #1
Exit_Here:
  Exit Sub
Err_Control:
  Debug.Print Err.Description
  Resume Exit_Here
End Sub

Function GetRGB(ACI As Integer, Red As Integer, _
Green As Integer, Blue As Integer) As Long

  Dim nbr As Double
nbr = Right(ACI, 1) / 2

  Dim bolAdd As Boolean, intBase As Integer
   Select Case ACI
    Case Is < 1
        MsgBox "Invalid ACI number (0-255 valid)."
        Exit Function
    Case Is < 10: GoTo SkipCalc
    Case Is < 60: bolAdd = True: intBase = 1
    Case Is < 90: bolAdd = False: intBase = 6
    Case Is < 140: bolAdd = True: intBase = 9
    Case Is < 170: bolAdd = False: intBase = 14
    Case Is < 220: bolAdd = True: intBase = 17
    Case Is < 250: bolAdd = False: intBase = 22
    Case Is < 256: GoTo SkipCalc
    Case Else
        MsgBox "Invalid ACI number (0-255 valid)."
        Exit Function
   End Select

   Dim dblStart As Double
   If bolAdd Then
     dblStart = IIf(nbr = Int(nbr), 0, 0.5)
   Else
     dblStart = IIf(nbr = Int(nbr), 0.75, 0.875)
   End If

     Dim intSign As Integer, dblFactor As Double
   intSign = IIf(bolAdd, 1, -1)
   dblFactor = IIf(nbr = Int(nbr), 0.25, 0.125)

     Dim dblA As Double, dblB As Double, dblC As Double
   dblA = Choose(Fix(nbr) + 1, 1, 0.65, 0.5, 0.3, 0.15)
   dblB = (dblStart + intSign * _
   (Left(ACI, Len(CStr(ACI)) - 1) - intBase) * dblFactor) * dblA
   dblC = ((2 * nbr) Mod 2) * 0.5 * dblA

SkipCalc:
  Select Case ACI
    Case 1: Red = 255: Green = 0: Blue = 0
    Case 2: Red = 255: Green = 255: Blue = 0
    Case 3: Red = 0: Green = 255: Blue = 0
    Case 4: Red = 0: Green = 255: Blue = 255
    Case 5: Red = 0: Green = 0: Blue = 255
    Case 6: Red = 255: Green = 0: Blue = 255
    Case 7, 8, 9
      Red = 0: Green = 0: Blue = 0
    Case Is < 60
      Red = 255 * dblA: Green = 255 * dblB: Blue = 255 * dblC
    Case Is < 90
      Red = 255 * dblB: Green = 255 * dblA: Blue = 255 * dblC
    Case Is < 140
      Red = 255 * dblC: Green = 255 * dblA: Blue = 255 * dblB
    Case Is < 170
      Red = 255 * dblC: Green = 255 * dblB: Blue = 255 * dblA
    Case Is < 220
      Red = 255 * dblB: Green = 255 * dblC: Blue = 255 * dblA
    Case Is < 250
      Red = 255 * dblA: Green = 255 * dblC: Blue = 255 * dblB
    Case Is < 256
      Red = 255 * Choose(nbr * 2 + 1, 0.33, 0.464, _
      0.598, 0.732, 0.866, 1)
      Green = Red: Blue = Red
  End Select

  GetRGB = RGB(Red, Green, Blue)
End Function
生成的文件如下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2002-12-19 15:18:00 | 显示全部楼层

继续“AutoCAD索引颜色(ACI)与RGB颜色对照表”

谢谢坛主的回复,但请坛主留意一下你的文件中colorindex 7,8,9三项的RGB值是一样的,以下是我的测试程序,请坛主试试,望以后多加帮助小弟,在此多谢了,thinks.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2002-12-20 19:42:00 | 显示全部楼层

通过将颜色对话框剪粘到CorelDraw查看颜色,可以看到你的程序运行结果是正确的

但实际还是看看AutoCAD填充颜色后,颜色的色标是否与对话框显示的色标一致
发表于 2003-3-28 17:09:00 | 显示全部楼层

AutoCAD2004已经出来了,通过它可以得到ACI与RGB颜色对照表

程序部分:
(defun ColorIndex-to-TrueColor (ci / colorObj TrueColor)
  (vl-load-com)
  (and (setq colorObj (vla-getinterfaceobject
                        (vlax-get-acad-object)
                        "AutoCAD.AcCmColor.16"
                      )
       )
       (>= ci 1)
       (<= ci 255)
       (not
         (vl-catch-all-error-p
           (vl-catch-all-apply 'vla-put-ColorIndex (list colorObj ci))
         )
       )
       (setq TrueColor (TrueColor-make
                         (vla-get-red colorObj)
                         (vla-get-green colorObj)
                         (vla-get-blue colorObj)
                       )
       )                               
  )                                       
  TrueColor
)                                       


(defun TrueColor-red-value (c /)
  (lsh (fix c) -16)
)

(defun TrueColor-green-value (c / r)
  (lsh (lsh (fix c) 16) -24)
)                                       

(defun TrueColor-blue-value (c /)
  (lsh (lsh (fix c) 24) -24)
)                                       

(defun cC ()
;;  (acad_truecolordlg '(62 . 1))
  (setq i 0)
  (setq txt "c:\\color.txt")
  (setq file (open txt "w"))
  (repeat 255
    (setq i (+ i 1))
    (setq Color        (ColorIndex-to-TrueColor i)
          Red        (TrueColor-red-value color)
          blue        (TrueColor-blue-value color)
          green        (TrueColor-green-value color)
    )

    (write-line
      (strcat (itoa i)
              "        "
              (itoa red)
              "        "
              (itoa green)
              "        "
              (itoa blue)
      )
      file
    )
  )
  (close file)
)

颜色表对照部分:

ACI        R        G        B

1        255        0        0
2        255        255        0
3        0        255        0
4        0        255        255
5        0        0        255
6        255        0        255
7        255        255        255
8        128        128        128
9        192        192        192
10        255        0        0
11        255        127        127
12        204        0        0
13        204        102        102
14        153        0        0
15        153        76        76
16        127        0        0
17        127        63        63
18        76        0        0
19        76        38        38
20        255        63        0
21        255        159        127
22        204        51        0
23        204        127        102
24        153        38        0
25        153        95        76
26        127        31        0
27        127        79        63
28        76        19        0
29        76        47        38
30        255        127        0
31        255        191        127
32        204        102        0
33        204        153        102
34        153        76        0
35        153        114        76
36        127        63        0
37        127        95        63
38        76        38        0
39        76        57        38
40        255        191        0
41        255        223        127
42        204        153        0
43        204        178        102
44        153        114        0
45        153        133        76
46        127        95        0
47        127        111        63
48        76        57        0
49        76        66        38
50        255        255        0
51        255        255        127
52        204        204        0
53        204        204        102
54        153        153        0
55        153        153        76
56        127        127        0
57        127        127        63
58        76        76        0
59        76        76        38
60        191        255        0
61        223        255        127
62        153        204        0
63        178        204        102
64        114        153        0
65        133        153        76
66        95        127        0
67        111        127        63
68        57        76        0
69        66        76        38
70        127        255        0
71        191        255        127
72        102        204        0
73        153        204        102
74        76        153        0
75        114        153        76
76        63        127        0
77        95        127        63
78        38        76        0
79        57        76        38
80        63        255        0
81        159        255        127
82        51        204        0
83        127        204        102
84        38        153        0
85        95        153        76
86        31        127        0
87        79        127        63
88        19        76        0
89        47        76        38
90        0        255        0
91        127        255        127
92        0        204        0
93        102        204        102
94        0        153        0
95        76        153        76
96        0        127        0
97        63        127        63
98        0        76        0
99        38        76        38
100        0        255        63
101        127        255        159
102        0        204        51
103        102        204        127
104        0        153        38
105        76        153        95
106        0        127        31
107        63        127        79
108        0        76        19
109        38        76        47
110        0        255        127
111        127        255        191
112        0        204        102
113        102        204        153
114        0        153        76
115        76        153        114
116        0        127        63
117        63        127        95
118        0        76        38
119        38        76        57
120        0        255        191
121        127        255        223
122        0        204        153
123        102        204        178
124        0        153        114
125        76        153        133
126        0        127        95
127        63        127        111
128        0        76        57
129        38        76        66
130        0        255        255
131        127        255        255
132        0        204        204
133        102        204        204
134        0        153        153
135        76        153        153
136        0        127        127
137        63        127        127
138        0        76        76
139        38        76        76
140        0        191        255
141        127        223        255
142        0        153        204
143        102        178        204
144        0        114        153
145        76        133        153
146        0        95        127
147        63        111        127
148        0        57        76
149        38        66        76
150        0        127        255
151        127        191        255
152        0        102        204
153        102        153        204
154        0        76        153
155        76        114        153
156        0        63        127
157        63        95        127
158        0        38        76
159        38        57        76
160        0        63        255
161        127        159        255
162        0        51        204
163        102        127        204
164        0        38        153
165        76        95        153
166        0        31        127
167        63        79        127
168        0        19        76
169        38        47        76
170        0        0        255
171        127        127        255
172        0        0        204
173        102        102        204
174        0        0        153
175        76        76        153
176        0        0        127
177        63        63        127
178        0        0        76
179        38        38        76
180        63        0        255
181        159        127        255
182        51        0        204
183        127        102        204
184        38        0        153
185        95        76        153
186        31        0        127
187        79        63        127
188        19        0        76
189        47        38        76
190        127        0        255
191        191        127        255
192        102        0        204
193        153        102        204
194        76        0        153
195        114        76        153
196        63        0        127
197        95        63        127
198        38        0        76
199        57        38        76
200        191        0        255
201        223        127        255
202        153        0        204
203        178        102        204
204        114        0        153
205        133        76        153
206        95        0        127
207        111        63        127
208        57        0        76
209        66        38        76
210        255        0        255
211        255        127        255
212        204        0        204
213        204        102        204
214        153        0        153
215        153        76        153
216        127        0        127
217        127        63        127
218        76        0        76
219        76        38        76
220        255        0        191
221        255        127        223
222        204        0        153
223        204        102        178
224        153        0        114
225        153        76        133
226        127        0        95
227        127        63        111
228        76        0        57
229        76        38        66
230        255        0        127
231        255        127        191
232        204        0        102
233        204        102        153
234        153        0        76
235        153        76        114
236        127        0        63
237        127        63        95
238        76        0        38
239        76        38        57
240        255        0        63
241        255        127        159
242        204        0        51
243        204        102        127
244        153        0        38
245        153        76        95
246        127        0        31
247        127        63        79
248        76        0        19
249        76        38        47
250        51        51        51
251        91        91        91
252        132        132        132
253        173        173        173
254        214        214        214
255        255        255        255
发表于 2003-6-30 22:40:00 | 显示全部楼层
ACI 5和170 的RGB一样,为什么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-29 01:57 , Processed in 0.218919 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表