AciDictionary.cs 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Drawing;
  4. namespace FastReport.Export.Dxf.Utils
  5. {
  6. public static class ACIDictionary
  7. {
  8. #region Public Fields
  9. /// <summary>
  10. /// AutoCAD Color Index -> RGB Color table
  11. /// </summary>
  12. public static Dictionary<byte, Color> ACI_RGB = new Dictionary<byte, Color>();
  13. /// <summary>
  14. /// RGB Color table -> AutoCAD Color Index
  15. /// </summary>
  16. public static Dictionary<Color, byte> RGB_ACI = new Dictionary<Color, byte>();
  17. #endregion Public Fields
  18. #region Public Constructors
  19. static ACIDictionary()
  20. {
  21. ACI_RGB.Add(1, Color.FromArgb(255, 0, 0));
  22. ACI_RGB.Add(2, Color.FromArgb(255, 255, 0));
  23. ACI_RGB.Add(3, Color.FromArgb(0, 255, 0));
  24. ACI_RGB.Add(4, Color.FromArgb(0, 255, 255));
  25. ACI_RGB.Add(5, Color.FromArgb(0, 0, 255));
  26. ACI_RGB.Add(6, Color.FromArgb(255, 0, 255));
  27. //ACI_RGB.Add(7, Color.FromArgb(255, 255, 255));
  28. ACI_RGB.Add(8, Color.FromArgb(128, 128, 128));
  29. ACI_RGB.Add(9, Color.FromArgb(192, 192, 192));
  30. //ACI_RGB.Add(10, Color.FromArgb(255, 0, 0));
  31. ACI_RGB.Add(11, Color.FromArgb(255, 127, 127));
  32. ACI_RGB.Add(12, Color.FromArgb(204, 0, 0));
  33. ACI_RGB.Add(13, Color.FromArgb(204, 102, 102));
  34. ACI_RGB.Add(14, Color.FromArgb(153, 0, 0));
  35. ACI_RGB.Add(15, Color.FromArgb(153, 76, 76));
  36. ACI_RGB.Add(16, Color.FromArgb(127, 0, 0));
  37. ACI_RGB.Add(17, Color.FromArgb(127, 63, 63));
  38. ACI_RGB.Add(18, Color.FromArgb(76, 0, 0));
  39. ACI_RGB.Add(19, Color.FromArgb(76, 38, 38));
  40. ACI_RGB.Add(20, Color.FromArgb(255, 63, 0));
  41. ACI_RGB.Add(21, Color.FromArgb(255, 159, 127));
  42. ACI_RGB.Add(22, Color.FromArgb(204, 51, 0));
  43. ACI_RGB.Add(23, Color.FromArgb(204, 127, 102));
  44. ACI_RGB.Add(24, Color.FromArgb(153, 38, 0));
  45. ACI_RGB.Add(25, Color.FromArgb(153, 95, 76));
  46. ACI_RGB.Add(26, Color.FromArgb(127, 31, 0));
  47. ACI_RGB.Add(27, Color.FromArgb(127, 79, 63));
  48. ACI_RGB.Add(28, Color.FromArgb(76, 19, 0));
  49. ACI_RGB.Add(29, Color.FromArgb(76, 47, 38));
  50. ACI_RGB.Add(30, Color.FromArgb(255, 127, 0));
  51. ACI_RGB.Add(31, Color.FromArgb(255, 191, 127));
  52. ACI_RGB.Add(32, Color.FromArgb(204, 102, 0));
  53. ACI_RGB.Add(33, Color.FromArgb(204, 153, 102));
  54. ACI_RGB.Add(34, Color.FromArgb(153, 76, 0));
  55. ACI_RGB.Add(35, Color.FromArgb(153, 114, 76));
  56. ACI_RGB.Add(36, Color.FromArgb(127, 63, 0));
  57. ACI_RGB.Add(37, Color.FromArgb(127, 95, 63));
  58. ACI_RGB.Add(38, Color.FromArgb(76, 38, 0));
  59. ACI_RGB.Add(39, Color.FromArgb(76, 57, 38));
  60. ACI_RGB.Add(40, Color.FromArgb(255, 191, 0));
  61. ACI_RGB.Add(41, Color.FromArgb(255, 223, 127));
  62. ACI_RGB.Add(42, Color.FromArgb(204, 153, 0));
  63. ACI_RGB.Add(43, Color.FromArgb(204, 178, 102));
  64. ACI_RGB.Add(44, Color.FromArgb(153, 114, 0));
  65. ACI_RGB.Add(45, Color.FromArgb(153, 133, 76));
  66. ACI_RGB.Add(46, Color.FromArgb(127, 95, 0));
  67. ACI_RGB.Add(47, Color.FromArgb(127, 111, 63));
  68. ACI_RGB.Add(48, Color.FromArgb(76, 57, 0));
  69. ACI_RGB.Add(49, Color.FromArgb(76, 66, 38));
  70. //ACI_RGB.Add(50, Color.FromArgb(255, 255, 0));
  71. ACI_RGB.Add(51, Color.FromArgb(255, 255, 127));
  72. ACI_RGB.Add(52, Color.FromArgb(204, 204, 0));
  73. ACI_RGB.Add(53, Color.FromArgb(204, 204, 102));
  74. ACI_RGB.Add(54, Color.FromArgb(152, 152, 0));
  75. ACI_RGB.Add(55, Color.FromArgb(152, 152, 76));
  76. ACI_RGB.Add(56, Color.FromArgb(127, 127, 0));
  77. ACI_RGB.Add(57, Color.FromArgb(127, 127, 63));
  78. ACI_RGB.Add(58, Color.FromArgb(76, 76, 0));
  79. ACI_RGB.Add(59, Color.FromArgb(76, 76, 38));
  80. ACI_RGB.Add(60, Color.FromArgb(191, 255, 0));
  81. ACI_RGB.Add(61, Color.FromArgb(223, 255, 127));
  82. ACI_RGB.Add(62, Color.FromArgb(153, 204, 0));
  83. ACI_RGB.Add(63, Color.FromArgb(178, 204, 102));
  84. ACI_RGB.Add(64, Color.FromArgb(114, 152, 0));
  85. ACI_RGB.Add(65, Color.FromArgb(133, 152, 76));
  86. ACI_RGB.Add(66, Color.FromArgb(95, 127, 0));
  87. ACI_RGB.Add(67, Color.FromArgb(111, 127, 63));
  88. ACI_RGB.Add(68, Color.FromArgb(57, 76, 0));
  89. ACI_RGB.Add(69, Color.FromArgb(66, 76, 38));
  90. ACI_RGB.Add(70, Color.FromArgb(127, 255, 0));
  91. ACI_RGB.Add(71, Color.FromArgb(191, 255, 127));
  92. ACI_RGB.Add(72, Color.FromArgb(102, 204, 0));
  93. ACI_RGB.Add(73, Color.FromArgb(153, 204, 102));
  94. ACI_RGB.Add(74, Color.FromArgb(76, 152, 0));
  95. ACI_RGB.Add(75, Color.FromArgb(114, 152, 76));
  96. ACI_RGB.Add(76, Color.FromArgb(63, 127, 0));
  97. ACI_RGB.Add(77, Color.FromArgb(95, 127, 63));
  98. ACI_RGB.Add(78, Color.FromArgb(38, 76, 0));
  99. ACI_RGB.Add(79, Color.FromArgb(57, 76, 38));
  100. ACI_RGB.Add(80, Color.FromArgb(63, 255, 0));
  101. ACI_RGB.Add(81, Color.FromArgb(159, 255, 127));
  102. ACI_RGB.Add(82, Color.FromArgb(51, 204, 0));
  103. ACI_RGB.Add(83, Color.FromArgb(127, 204, 102));
  104. ACI_RGB.Add(84, Color.FromArgb(38, 152, 0));
  105. ACI_RGB.Add(85, Color.FromArgb(95, 152, 76));
  106. ACI_RGB.Add(86, Color.FromArgb(31, 127, 0));
  107. ACI_RGB.Add(87, Color.FromArgb(79, 127, 63));
  108. ACI_RGB.Add(88, Color.FromArgb(19, 76, 0));
  109. ACI_RGB.Add(89, Color.FromArgb(47, 76, 38));
  110. //ACI_RGB.Add(90, Color.FromArgb(0, 255, 0));
  111. ACI_RGB.Add(91, Color.FromArgb(127, 255, 127));
  112. ACI_RGB.Add(92, Color.FromArgb(0, 204, 0));
  113. ACI_RGB.Add(93, Color.FromArgb(102, 204, 102));
  114. ACI_RGB.Add(94, Color.FromArgb(0, 152, 0));
  115. ACI_RGB.Add(95, Color.FromArgb(76, 152, 76));
  116. ACI_RGB.Add(96, Color.FromArgb(0, 127, 0));
  117. ACI_RGB.Add(97, Color.FromArgb(63, 127, 63));
  118. ACI_RGB.Add(98, Color.FromArgb(0, 76, 0));
  119. ACI_RGB.Add(99, Color.FromArgb(38, 76, 38));
  120. ACI_RGB.Add(100, Color.FromArgb(0, 255, 63));
  121. ACI_RGB.Add(101, Color.FromArgb(127, 255, 159));
  122. ACI_RGB.Add(102, Color.FromArgb(0, 204, 51));
  123. ACI_RGB.Add(103, Color.FromArgb(102, 204, 127));
  124. ACI_RGB.Add(104, Color.FromArgb(0, 152, 38));
  125. ACI_RGB.Add(105, Color.FromArgb(76, 152, 95));
  126. ACI_RGB.Add(106, Color.FromArgb(0, 127, 31));
  127. ACI_RGB.Add(107, Color.FromArgb(63, 127, 79));
  128. ACI_RGB.Add(108, Color.FromArgb(0, 76, 19));
  129. ACI_RGB.Add(109, Color.FromArgb(38, 76, 47));
  130. ACI_RGB.Add(110, Color.FromArgb(0, 255, 127));
  131. ACI_RGB.Add(111, Color.FromArgb(127, 255, 191));
  132. ACI_RGB.Add(112, Color.FromArgb(0, 204, 102));
  133. ACI_RGB.Add(113, Color.FromArgb(102, 204, 153));
  134. ACI_RGB.Add(114, Color.FromArgb(0, 152, 76));
  135. ACI_RGB.Add(115, Color.FromArgb(76, 152, 114));
  136. ACI_RGB.Add(116, Color.FromArgb(0, 127, 63));
  137. ACI_RGB.Add(117, Color.FromArgb(63, 127, 95));
  138. ACI_RGB.Add(118, Color.FromArgb(0, 76, 38));
  139. ACI_RGB.Add(119, Color.FromArgb(38, 76, 57));
  140. ACI_RGB.Add(120, Color.FromArgb(0, 255, 191));
  141. ACI_RGB.Add(121, Color.FromArgb(127, 255, 223));
  142. ACI_RGB.Add(122, Color.FromArgb(0, 204, 153));
  143. ACI_RGB.Add(123, Color.FromArgb(102, 204, 178));
  144. ACI_RGB.Add(124, Color.FromArgb(0, 152, 114));
  145. ACI_RGB.Add(125, Color.FromArgb(76, 152, 133));
  146. ACI_RGB.Add(126, Color.FromArgb(0, 127, 95));
  147. ACI_RGB.Add(127, Color.FromArgb(63, 127, 111));
  148. ACI_RGB.Add(128, Color.FromArgb(0, 76, 57));
  149. ACI_RGB.Add(129, Color.FromArgb(38, 76, 66));
  150. //ACI_RGB.Add(130, Color.FromArgb(0, 255, 255));
  151. ACI_RGB.Add(131, Color.FromArgb(127, 255, 255));
  152. ACI_RGB.Add(132, Color.FromArgb(0, 204, 204));
  153. ACI_RGB.Add(133, Color.FromArgb(102, 204, 204));
  154. ACI_RGB.Add(134, Color.FromArgb(0, 152, 152));
  155. ACI_RGB.Add(135, Color.FromArgb(76, 152, 152));
  156. ACI_RGB.Add(136, Color.FromArgb(0, 127, 127));
  157. ACI_RGB.Add(137, Color.FromArgb(63, 127, 127));
  158. ACI_RGB.Add(138, Color.FromArgb(0, 76, 76));
  159. ACI_RGB.Add(139, Color.FromArgb(38, 76, 76));
  160. ACI_RGB.Add(140, Color.FromArgb(0, 191, 255));
  161. ACI_RGB.Add(141, Color.FromArgb(127, 223, 255));
  162. ACI_RGB.Add(142, Color.FromArgb(0, 153, 204));
  163. ACI_RGB.Add(143, Color.FromArgb(102, 178, 204));
  164. ACI_RGB.Add(144, Color.FromArgb(0, 114, 152));
  165. ACI_RGB.Add(145, Color.FromArgb(76, 133, 152));
  166. ACI_RGB.Add(146, Color.FromArgb(0, 95, 127));
  167. ACI_RGB.Add(147, Color.FromArgb(63, 111, 127));
  168. ACI_RGB.Add(148, Color.FromArgb(0, 57, 76));
  169. ACI_RGB.Add(149, Color.FromArgb(38, 66, 76));
  170. ACI_RGB.Add(150, Color.FromArgb(0, 127, 255));
  171. ACI_RGB.Add(151, Color.FromArgb(127, 191, 255));
  172. ACI_RGB.Add(152, Color.FromArgb(0, 102, 204));
  173. ACI_RGB.Add(153, Color.FromArgb(102, 153, 204));
  174. ACI_RGB.Add(154, Color.FromArgb(0, 76, 152));
  175. ACI_RGB.Add(155, Color.FromArgb(76, 114, 152));
  176. ACI_RGB.Add(156, Color.FromArgb(0, 63, 127));
  177. ACI_RGB.Add(157, Color.FromArgb(63, 95, 127));
  178. ACI_RGB.Add(158, Color.FromArgb(0, 38, 76));
  179. ACI_RGB.Add(159, Color.FromArgb(38, 57, 76));
  180. ACI_RGB.Add(160, Color.FromArgb(0, 63, 255));
  181. ACI_RGB.Add(161, Color.FromArgb(127, 159, 255));
  182. ACI_RGB.Add(162, Color.FromArgb(0, 51, 204));
  183. ACI_RGB.Add(163, Color.FromArgb(102, 127, 204));
  184. ACI_RGB.Add(164, Color.FromArgb(0, 38, 152));
  185. ACI_RGB.Add(165, Color.FromArgb(76, 95, 152));
  186. ACI_RGB.Add(166, Color.FromArgb(0, 31, 127));
  187. ACI_RGB.Add(167, Color.FromArgb(63, 79, 127));
  188. ACI_RGB.Add(168, Color.FromArgb(0, 19, 76));
  189. ACI_RGB.Add(169, Color.FromArgb(38, 47, 76));
  190. //ACI_RGB.Add(170, Color.FromArgb(0, 0, 255));
  191. ACI_RGB.Add(171, Color.FromArgb(127, 127, 255));
  192. ACI_RGB.Add(172, Color.FromArgb(0, 0, 204));
  193. ACI_RGB.Add(173, Color.FromArgb(102, 102, 204));
  194. ACI_RGB.Add(174, Color.FromArgb(0, 0, 152));
  195. ACI_RGB.Add(175, Color.FromArgb(76, 76, 152));
  196. ACI_RGB.Add(176, Color.FromArgb(0, 0, 127));
  197. ACI_RGB.Add(177, Color.FromArgb(63, 63, 127));
  198. ACI_RGB.Add(178, Color.FromArgb(0, 0, 76));
  199. ACI_RGB.Add(179, Color.FromArgb(38, 38, 76));
  200. ACI_RGB.Add(180, Color.FromArgb(63, 0, 255));
  201. ACI_RGB.Add(181, Color.FromArgb(159, 127, 255));
  202. ACI_RGB.Add(182, Color.FromArgb(51, 0, 204));
  203. ACI_RGB.Add(183, Color.FromArgb(127, 102, 204));
  204. ACI_RGB.Add(184, Color.FromArgb(38, 0, 152));
  205. ACI_RGB.Add(185, Color.FromArgb(95, 76, 152));
  206. ACI_RGB.Add(186, Color.FromArgb(31, 0, 127));
  207. ACI_RGB.Add(187, Color.FromArgb(79, 63, 127));
  208. ACI_RGB.Add(188, Color.FromArgb(19, 0, 76));
  209. ACI_RGB.Add(189, Color.FromArgb(47, 38, 76));
  210. ACI_RGB.Add(190, Color.FromArgb(127, 0, 255));
  211. ACI_RGB.Add(191, Color.FromArgb(191, 127, 255));
  212. ACI_RGB.Add(192, Color.FromArgb(102, 0, 204));
  213. ACI_RGB.Add(193, Color.FromArgb(153, 102, 204));
  214. ACI_RGB.Add(194, Color.FromArgb(76, 0, 152));
  215. ACI_RGB.Add(195, Color.FromArgb(114, 76, 152));
  216. ACI_RGB.Add(196, Color.FromArgb(63, 0, 127));
  217. ACI_RGB.Add(197, Color.FromArgb(95, 63, 127));
  218. ACI_RGB.Add(198, Color.FromArgb(38, 0, 76));
  219. ACI_RGB.Add(199, Color.FromArgb(57, 38, 76));
  220. ACI_RGB.Add(200, Color.FromArgb(191, 0, 255));
  221. ACI_RGB.Add(201, Color.FromArgb(223, 127, 255));
  222. ACI_RGB.Add(202, Color.FromArgb(153, 0, 204));
  223. ACI_RGB.Add(203, Color.FromArgb(178, 102, 204));
  224. ACI_RGB.Add(204, Color.FromArgb(114, 0, 152));
  225. ACI_RGB.Add(205, Color.FromArgb(133, 76, 152));
  226. ACI_RGB.Add(206, Color.FromArgb(95, 0, 127));
  227. ACI_RGB.Add(207, Color.FromArgb(111, 63, 127));
  228. ACI_RGB.Add(208, Color.FromArgb(57, 0, 76));
  229. ACI_RGB.Add(209, Color.FromArgb(66, 38, 76));
  230. //ACI_RGB.Add(210, Color.FromArgb(255, 0, 255));
  231. ACI_RGB.Add(211, Color.FromArgb(255, 127, 255));
  232. ACI_RGB.Add(212, Color.FromArgb(204, 0, 204));
  233. ACI_RGB.Add(213, Color.FromArgb(204, 102, 204));
  234. ACI_RGB.Add(214, Color.FromArgb(152, 0, 152));
  235. ACI_RGB.Add(215, Color.FromArgb(152, 76, 152));
  236. ACI_RGB.Add(216, Color.FromArgb(127, 0, 127));
  237. ACI_RGB.Add(217, Color.FromArgb(127, 63, 127));
  238. ACI_RGB.Add(218, Color.FromArgb(76, 0, 76));
  239. ACI_RGB.Add(219, Color.FromArgb(76, 38, 76));
  240. ACI_RGB.Add(220, Color.FromArgb(255, 0, 191));
  241. ACI_RGB.Add(221, Color.FromArgb(255, 127, 223));
  242. ACI_RGB.Add(222, Color.FromArgb(204, 0, 153));
  243. ACI_RGB.Add(223, Color.FromArgb(204, 102, 178));
  244. ACI_RGB.Add(224, Color.FromArgb(152, 0, 114));
  245. ACI_RGB.Add(225, Color.FromArgb(152, 76, 133));
  246. ACI_RGB.Add(226, Color.FromArgb(127, 0, 95));
  247. ACI_RGB.Add(227, Color.FromArgb(127, 63, 111));
  248. ACI_RGB.Add(228, Color.FromArgb(76, 0, 57));
  249. ACI_RGB.Add(229, Color.FromArgb(76, 38, 66));
  250. ACI_RGB.Add(230, Color.FromArgb(255, 0, 127));
  251. ACI_RGB.Add(231, Color.FromArgb(255, 127, 191));
  252. ACI_RGB.Add(232, Color.FromArgb(204, 0, 102));
  253. ACI_RGB.Add(233, Color.FromArgb(204, 102, 153));
  254. ACI_RGB.Add(234, Color.FromArgb(152, 0, 76));
  255. ACI_RGB.Add(235, Color.FromArgb(152, 76, 114));
  256. ACI_RGB.Add(236, Color.FromArgb(127, 0, 63));
  257. ACI_RGB.Add(237, Color.FromArgb(127, 63, 95));
  258. ACI_RGB.Add(238, Color.FromArgb(76, 0, 38));
  259. ACI_RGB.Add(239, Color.FromArgb(76, 38, 57));
  260. ACI_RGB.Add(240, Color.FromArgb(255, 0, 63));
  261. ACI_RGB.Add(241, Color.FromArgb(255, 127, 159));
  262. ACI_RGB.Add(242, Color.FromArgb(204, 0, 51));
  263. ACI_RGB.Add(243, Color.FromArgb(204, 102, 127));
  264. ACI_RGB.Add(244, Color.FromArgb(152, 0, 38));
  265. ACI_RGB.Add(245, Color.FromArgb(152, 76, 95));
  266. ACI_RGB.Add(246, Color.FromArgb(127, 0, 31));
  267. ACI_RGB.Add(247, Color.FromArgb(127, 63, 79));
  268. ACI_RGB.Add(248, Color.FromArgb(76, 0, 19));
  269. ACI_RGB.Add(249, Color.FromArgb(76, 38, 47));
  270. ACI_RGB.Add(250, Color.FromArgb(51, 51, 51));
  271. ACI_RGB.Add(251, Color.FromArgb(91, 91, 91));
  272. ACI_RGB.Add(252, Color.FromArgb(132, 132, 132));
  273. ACI_RGB.Add(253, Color.FromArgb(173, 173, 173));
  274. ACI_RGB.Add(254, Color.FromArgb(214, 214, 214));
  275. ACI_RGB.Add(255, Color.FromArgb(255, 255, 255));
  276. //----------------------------------------------
  277. RGB_ACI.Add(Color.FromArgb(255, 0, 0), 1);
  278. RGB_ACI.Add(Color.FromArgb(255, 255, 0), 2);
  279. RGB_ACI.Add(Color.FromArgb(0, 255, 0), 3);
  280. RGB_ACI.Add(Color.FromArgb(0, 255, 255), 4);
  281. RGB_ACI.Add(Color.FromArgb(0, 0, 255), 5);
  282. RGB_ACI.Add(Color.FromArgb(255, 0, 255), 6);
  283. //RGB_ACI.Add(Color.FromArgb(255, 255, 255), 7);
  284. RGB_ACI.Add(Color.FromArgb(128, 128, 128), 8);
  285. RGB_ACI.Add(Color.FromArgb(192, 192, 192), 9);
  286. //RGB_ACI.Add(Color.FromArgb(255, 0, 0), 10);
  287. RGB_ACI.Add(Color.FromArgb(255, 127, 127), 11);
  288. RGB_ACI.Add(Color.FromArgb(204, 0, 0), 12);
  289. RGB_ACI.Add(Color.FromArgb(204, 102, 102), 13);
  290. RGB_ACI.Add(Color.FromArgb(153, 0, 0), 14);
  291. RGB_ACI.Add(Color.FromArgb(153, 76, 76), 15);
  292. RGB_ACI.Add(Color.FromArgb(127, 0, 0), 16);
  293. RGB_ACI.Add(Color.FromArgb(127, 63, 63), 17);
  294. RGB_ACI.Add(Color.FromArgb(76, 0, 0), 18);
  295. RGB_ACI.Add(Color.FromArgb(76, 38, 38), 19);
  296. RGB_ACI.Add(Color.FromArgb(255, 63, 0), 20);
  297. RGB_ACI.Add(Color.FromArgb(255, 159, 127), 21);
  298. RGB_ACI.Add(Color.FromArgb(204, 51, 0), 22);
  299. RGB_ACI.Add(Color.FromArgb(204, 127, 102), 23);
  300. RGB_ACI.Add(Color.FromArgb(153, 38, 0), 24);
  301. RGB_ACI.Add(Color.FromArgb(153, 95, 76), 25);
  302. RGB_ACI.Add(Color.FromArgb(127, 31, 0), 26);
  303. RGB_ACI.Add(Color.FromArgb(127, 79, 63), 27);
  304. RGB_ACI.Add(Color.FromArgb(76, 19, 0), 28);
  305. RGB_ACI.Add(Color.FromArgb(76, 47, 38), 29);
  306. RGB_ACI.Add(Color.FromArgb(255, 127, 0), 30);
  307. RGB_ACI.Add(Color.FromArgb(255, 191, 127), 31);
  308. RGB_ACI.Add(Color.FromArgb(204, 102, 0), 32);
  309. RGB_ACI.Add(Color.FromArgb(204, 153, 102), 33);
  310. RGB_ACI.Add(Color.FromArgb(153, 76, 0), 34);
  311. RGB_ACI.Add(Color.FromArgb(153, 114, 76), 35);
  312. RGB_ACI.Add(Color.FromArgb(127, 63, 0), 36);
  313. RGB_ACI.Add(Color.FromArgb(127, 95, 63), 37);
  314. RGB_ACI.Add(Color.FromArgb(76, 38, 0), 38);
  315. RGB_ACI.Add(Color.FromArgb(76, 57, 38), 39);
  316. RGB_ACI.Add(Color.FromArgb(255, 191, 0), 40);
  317. RGB_ACI.Add(Color.FromArgb(255, 223, 127), 41);
  318. RGB_ACI.Add(Color.FromArgb(204, 153, 0), 42);
  319. RGB_ACI.Add(Color.FromArgb(204, 178, 102), 43);
  320. RGB_ACI.Add(Color.FromArgb(153, 114, 0), 44);
  321. RGB_ACI.Add(Color.FromArgb(153, 133, 76), 45);
  322. RGB_ACI.Add(Color.FromArgb(127, 95, 0), 46);
  323. RGB_ACI.Add(Color.FromArgb(127, 111, 63), 47);
  324. RGB_ACI.Add(Color.FromArgb(76, 57, 0), 48);
  325. RGB_ACI.Add(Color.FromArgb(76, 66, 38), 49);
  326. //RGB_ACI.Add(Color.FromArgb(255, 255, 0), 50);
  327. RGB_ACI.Add(Color.FromArgb(255, 255, 127), 51);
  328. RGB_ACI.Add(Color.FromArgb(204, 204, 0), 52);
  329. RGB_ACI.Add(Color.FromArgb(204, 204, 102), 53);
  330. RGB_ACI.Add(Color.FromArgb(152, 152, 0), 54);
  331. RGB_ACI.Add(Color.FromArgb(152, 152, 76), 55);
  332. RGB_ACI.Add(Color.FromArgb(127, 127, 0), 56);
  333. RGB_ACI.Add(Color.FromArgb(127, 127, 63), 57);
  334. RGB_ACI.Add(Color.FromArgb(76, 76, 0), 58);
  335. RGB_ACI.Add(Color.FromArgb(76, 76, 38), 59);
  336. RGB_ACI.Add(Color.FromArgb(191, 255, 0), 60);
  337. RGB_ACI.Add(Color.FromArgb(223, 255, 127), 61);
  338. RGB_ACI.Add(Color.FromArgb(153, 204, 0), 62);
  339. RGB_ACI.Add(Color.FromArgb(178, 204, 102), 63);
  340. RGB_ACI.Add(Color.FromArgb(114, 152, 0), 64);
  341. RGB_ACI.Add(Color.FromArgb(133, 152, 76), 65);
  342. RGB_ACI.Add(Color.FromArgb(95, 127, 0), 66);
  343. RGB_ACI.Add(Color.FromArgb(111, 127, 63), 67);
  344. RGB_ACI.Add(Color.FromArgb(57, 76, 0), 68);
  345. RGB_ACI.Add(Color.FromArgb(66, 76, 38), 69);
  346. RGB_ACI.Add(Color.FromArgb(127, 255, 0), 70);
  347. RGB_ACI.Add(Color.FromArgb(191, 255, 127), 71);
  348. RGB_ACI.Add(Color.FromArgb(102, 204, 0), 72);
  349. RGB_ACI.Add(Color.FromArgb(153, 204, 102), 73);
  350. RGB_ACI.Add(Color.FromArgb(76, 152, 0), 74);
  351. RGB_ACI.Add(Color.FromArgb(114, 152, 76), 75);
  352. RGB_ACI.Add(Color.FromArgb(63, 127, 0), 76);
  353. RGB_ACI.Add(Color.FromArgb(95, 127, 63), 77);
  354. RGB_ACI.Add(Color.FromArgb(38, 76, 0), 78);
  355. RGB_ACI.Add(Color.FromArgb(57, 76, 38), 79);
  356. RGB_ACI.Add(Color.FromArgb(63, 255, 0), 80);
  357. RGB_ACI.Add(Color.FromArgb(159, 255, 127), 81);
  358. RGB_ACI.Add(Color.FromArgb(51, 204, 0), 82);
  359. RGB_ACI.Add(Color.FromArgb(127, 204, 102), 83);
  360. RGB_ACI.Add(Color.FromArgb(38, 152, 0), 84);
  361. RGB_ACI.Add(Color.FromArgb(95, 152, 76), 85);
  362. RGB_ACI.Add(Color.FromArgb(31, 127, 0), 86);
  363. RGB_ACI.Add(Color.FromArgb(79, 127, 63), 87);
  364. RGB_ACI.Add(Color.FromArgb(19, 76, 0), 88);
  365. RGB_ACI.Add(Color.FromArgb(47, 76, 38), 89);
  366. ////RGB_ACI.Add(Color.FromArgb(0, 255, 0), 90);
  367. RGB_ACI.Add(Color.FromArgb(127, 255, 127), 91);
  368. RGB_ACI.Add(Color.FromArgb(0, 204, 0), 92);
  369. RGB_ACI.Add(Color.FromArgb(102, 204, 102), 93);
  370. RGB_ACI.Add(Color.FromArgb(0, 152, 0), 94);
  371. RGB_ACI.Add(Color.FromArgb(76, 152, 76), 95);
  372. RGB_ACI.Add(Color.FromArgb(0, 127, 0), 96);
  373. RGB_ACI.Add(Color.FromArgb(63, 127, 63), 97);
  374. RGB_ACI.Add(Color.FromArgb(0, 76, 0), 98);
  375. RGB_ACI.Add(Color.FromArgb(38, 76, 38), 99);
  376. RGB_ACI.Add(Color.FromArgb(0, 255, 63), 100);
  377. RGB_ACI.Add(Color.FromArgb(127, 255, 159), 101);
  378. RGB_ACI.Add(Color.FromArgb(0, 204, 51), 102);
  379. RGB_ACI.Add(Color.FromArgb(102, 204, 127), 103);
  380. RGB_ACI.Add(Color.FromArgb(0, 152, 38), 104);
  381. RGB_ACI.Add(Color.FromArgb(76, 152, 95), 105);
  382. RGB_ACI.Add(Color.FromArgb(0, 127, 31), 106);
  383. RGB_ACI.Add(Color.FromArgb(63, 127, 79), 107);
  384. RGB_ACI.Add(Color.FromArgb(0, 76, 19), 108);
  385. RGB_ACI.Add(Color.FromArgb(38, 76, 47), 109);
  386. RGB_ACI.Add(Color.FromArgb(0, 255, 127), 110);
  387. RGB_ACI.Add(Color.FromArgb(127, 255, 191), 111);
  388. RGB_ACI.Add(Color.FromArgb(0, 204, 102), 112);
  389. RGB_ACI.Add(Color.FromArgb(102, 204, 153), 113);
  390. RGB_ACI.Add(Color.FromArgb(0, 152, 76), 114);
  391. RGB_ACI.Add(Color.FromArgb(76, 152, 114), 115);
  392. RGB_ACI.Add(Color.FromArgb(0, 127, 63), 116);
  393. RGB_ACI.Add(Color.FromArgb(63, 127, 95), 117);
  394. RGB_ACI.Add(Color.FromArgb(0, 76, 38), 118);
  395. RGB_ACI.Add(Color.FromArgb(38, 76, 57), 119);
  396. RGB_ACI.Add(Color.FromArgb(0, 255, 191), 120);
  397. RGB_ACI.Add(Color.FromArgb(127, 255, 223), 121);
  398. RGB_ACI.Add(Color.FromArgb(0, 204, 153), 122);
  399. RGB_ACI.Add(Color.FromArgb(102, 204, 178), 123);
  400. RGB_ACI.Add(Color.FromArgb(0, 152, 114), 124);
  401. RGB_ACI.Add(Color.FromArgb(76, 152, 133), 125);
  402. RGB_ACI.Add(Color.FromArgb(0, 127, 95), 126);
  403. RGB_ACI.Add(Color.FromArgb(63, 127, 111), 127);
  404. RGB_ACI.Add(Color.FromArgb(0, 76, 57), 128);
  405. RGB_ACI.Add(Color.FromArgb(38, 76, 66), 129);
  406. //RGB_ACI.Add(Color.FromArgb(0, 255, 255), 130);
  407. RGB_ACI.Add(Color.FromArgb(127, 255, 255), 131);
  408. RGB_ACI.Add(Color.FromArgb(0, 204, 204), 132);
  409. RGB_ACI.Add(Color.FromArgb(102, 204, 204), 133);
  410. RGB_ACI.Add(Color.FromArgb(0, 152, 152), 134);
  411. RGB_ACI.Add(Color.FromArgb(76, 152, 152), 135);
  412. RGB_ACI.Add(Color.FromArgb(0, 127, 127), 136);
  413. RGB_ACI.Add(Color.FromArgb(63, 127, 127), 137);
  414. RGB_ACI.Add(Color.FromArgb(0, 76, 76), 138);
  415. RGB_ACI.Add(Color.FromArgb(38, 76, 76), 139);
  416. RGB_ACI.Add(Color.FromArgb(0, 191, 255), 140);
  417. RGB_ACI.Add(Color.FromArgb(127, 223, 255), 141);
  418. RGB_ACI.Add(Color.FromArgb(0, 153, 204), 142);
  419. RGB_ACI.Add(Color.FromArgb(102, 178, 204), 143);
  420. RGB_ACI.Add(Color.FromArgb(0, 114, 152), 144);
  421. RGB_ACI.Add(Color.FromArgb(76, 133, 152), 145);
  422. RGB_ACI.Add(Color.FromArgb(0, 95, 127), 146);
  423. RGB_ACI.Add(Color.FromArgb(63, 111, 127), 147);
  424. RGB_ACI.Add(Color.FromArgb(0, 57, 76), 148);
  425. RGB_ACI.Add(Color.FromArgb(38, 66, 76), 149);
  426. RGB_ACI.Add(Color.FromArgb(0, 127, 255), 150);
  427. RGB_ACI.Add(Color.FromArgb(127, 191, 255), 151);
  428. RGB_ACI.Add(Color.FromArgb(0, 102, 204), 152);
  429. RGB_ACI.Add(Color.FromArgb(102, 153, 204), 153);
  430. RGB_ACI.Add(Color.FromArgb(0, 76, 152), 154);
  431. RGB_ACI.Add(Color.FromArgb(76, 114, 152), 155);
  432. RGB_ACI.Add(Color.FromArgb(0, 63, 127), 156);
  433. RGB_ACI.Add(Color.FromArgb(63, 95, 127), 157);
  434. RGB_ACI.Add(Color.FromArgb(0, 38, 76), 158);
  435. RGB_ACI.Add(Color.FromArgb(38, 57, 76), 159);
  436. RGB_ACI.Add(Color.FromArgb(0, 63, 255), 160);
  437. RGB_ACI.Add(Color.FromArgb(127, 159, 255), 161);
  438. RGB_ACI.Add(Color.FromArgb(0, 51, 204), 162);
  439. RGB_ACI.Add(Color.FromArgb(102, 127, 204), 163);
  440. RGB_ACI.Add(Color.FromArgb(0, 38, 152), 164);
  441. RGB_ACI.Add(Color.FromArgb(76, 95, 152), 165);
  442. RGB_ACI.Add(Color.FromArgb(0, 31, 127), 166);
  443. RGB_ACI.Add(Color.FromArgb(63, 79, 127), 167);
  444. RGB_ACI.Add(Color.FromArgb(0, 19, 76), 168);
  445. RGB_ACI.Add(Color.FromArgb(38, 47, 76), 169);
  446. //RGB_ACI.Add(Color.FromArgb(0, 0, 255), 170);
  447. RGB_ACI.Add(Color.FromArgb(127, 127, 255), 171);
  448. RGB_ACI.Add(Color.FromArgb(0, 0, 204), 172);
  449. RGB_ACI.Add(Color.FromArgb(102, 102, 204), 173);
  450. RGB_ACI.Add(Color.FromArgb(0, 0, 152), 174);
  451. RGB_ACI.Add(Color.FromArgb(76, 76, 152), 175);
  452. RGB_ACI.Add(Color.FromArgb(0, 0, 127), 176);
  453. RGB_ACI.Add(Color.FromArgb(63, 63, 127), 177);
  454. RGB_ACI.Add(Color.FromArgb(0, 0, 76), 178);
  455. RGB_ACI.Add(Color.FromArgb(38, 38, 76), 179);
  456. RGB_ACI.Add(Color.FromArgb(63, 0, 255), 180);
  457. RGB_ACI.Add(Color.FromArgb(159, 127, 255), 181);
  458. RGB_ACI.Add(Color.FromArgb(51, 0, 204), 182);
  459. RGB_ACI.Add(Color.FromArgb(127, 102, 204), 183);
  460. RGB_ACI.Add(Color.FromArgb(38, 0, 152), 184);
  461. RGB_ACI.Add(Color.FromArgb(95, 76, 152), 185);
  462. RGB_ACI.Add(Color.FromArgb(31, 0, 127), 186);
  463. RGB_ACI.Add(Color.FromArgb(79, 63, 127), 187);
  464. RGB_ACI.Add(Color.FromArgb(19, 0, 76), 188);
  465. RGB_ACI.Add(Color.FromArgb(47, 38, 76), 189);
  466. RGB_ACI.Add(Color.FromArgb(127, 0, 255), 190);
  467. RGB_ACI.Add(Color.FromArgb(191, 127, 255), 191);
  468. RGB_ACI.Add(Color.FromArgb(102, 0, 204), 192);
  469. RGB_ACI.Add(Color.FromArgb(153, 102, 204), 193);
  470. RGB_ACI.Add(Color.FromArgb(76, 0, 152), 194);
  471. RGB_ACI.Add(Color.FromArgb(114, 76, 152), 195);
  472. RGB_ACI.Add(Color.FromArgb(63, 0, 127), 196);
  473. RGB_ACI.Add(Color.FromArgb(95, 63, 127), 197);
  474. RGB_ACI.Add(Color.FromArgb(38, 0, 76), 198);
  475. RGB_ACI.Add(Color.FromArgb(57, 38, 76), 199);
  476. RGB_ACI.Add(Color.FromArgb(191, 0, 255), 200);
  477. RGB_ACI.Add(Color.FromArgb(223, 127, 255), 201);
  478. RGB_ACI.Add(Color.FromArgb(153, 0, 204), 202);
  479. RGB_ACI.Add(Color.FromArgb(178, 102, 204), 203);
  480. RGB_ACI.Add(Color.FromArgb(114, 0, 152), 204);
  481. RGB_ACI.Add(Color.FromArgb(133, 76, 152), 205);
  482. RGB_ACI.Add(Color.FromArgb(95, 0, 127), 206);
  483. RGB_ACI.Add(Color.FromArgb(111, 63, 127), 207);
  484. RGB_ACI.Add(Color.FromArgb(57, 0, 76), 208);
  485. RGB_ACI.Add(Color.FromArgb(66, 38, 76), 209);
  486. //RGB_ACI.Add(Color.FromArgb(255, 0, 255), 210);
  487. RGB_ACI.Add(Color.FromArgb(255, 127, 255), 211);
  488. RGB_ACI.Add(Color.FromArgb(204, 0, 204), 212);
  489. RGB_ACI.Add(Color.FromArgb(204, 102, 204), 213);
  490. RGB_ACI.Add(Color.FromArgb(152, 0, 152), 214);
  491. RGB_ACI.Add(Color.FromArgb(152, 76, 152), 215);
  492. RGB_ACI.Add(Color.FromArgb(127, 0, 127), 216);
  493. RGB_ACI.Add(Color.FromArgb(127, 63, 127), 217);
  494. RGB_ACI.Add(Color.FromArgb(76, 0, 76), 218);
  495. RGB_ACI.Add(Color.FromArgb(76, 38, 76), 219);
  496. RGB_ACI.Add(Color.FromArgb(255, 0, 191), 220);
  497. RGB_ACI.Add(Color.FromArgb(255, 127, 223), 221);
  498. RGB_ACI.Add(Color.FromArgb(204, 0, 153), 222);
  499. RGB_ACI.Add(Color.FromArgb(204, 102, 178), 223);
  500. RGB_ACI.Add(Color.FromArgb(152, 0, 114), 224);
  501. RGB_ACI.Add(Color.FromArgb(152, 76, 133), 225);
  502. RGB_ACI.Add(Color.FromArgb(127, 0, 95), 226);
  503. RGB_ACI.Add(Color.FromArgb(127, 63, 111), 227);
  504. RGB_ACI.Add(Color.FromArgb(76, 0, 57), 228);
  505. RGB_ACI.Add(Color.FromArgb(76, 38, 66), 229);
  506. RGB_ACI.Add(Color.FromArgb(255, 0, 127), 230);
  507. RGB_ACI.Add(Color.FromArgb(255, 127, 191), 231);
  508. RGB_ACI.Add(Color.FromArgb(204, 0, 102), 232);
  509. RGB_ACI.Add(Color.FromArgb(204, 102, 153), 233);
  510. RGB_ACI.Add(Color.FromArgb(152, 0, 76), 234);
  511. RGB_ACI.Add(Color.FromArgb(152, 76, 114), 235);
  512. RGB_ACI.Add(Color.FromArgb(127, 0, 63), 236);
  513. RGB_ACI.Add(Color.FromArgb(127, 63, 95), 237);
  514. RGB_ACI.Add(Color.FromArgb(76, 0, 38), 238);
  515. RGB_ACI.Add(Color.FromArgb(76, 38, 57), 239);
  516. RGB_ACI.Add(Color.FromArgb(255, 0, 63), 240);
  517. RGB_ACI.Add(Color.FromArgb(255, 127, 159), 241);
  518. RGB_ACI.Add(Color.FromArgb(204, 0, 51), 242);
  519. RGB_ACI.Add(Color.FromArgb(204, 102, 127), 243);
  520. RGB_ACI.Add(Color.FromArgb(152, 0, 38), 244);
  521. RGB_ACI.Add(Color.FromArgb(152, 76, 95), 245);
  522. RGB_ACI.Add(Color.FromArgb(127, 0, 31), 246);
  523. RGB_ACI.Add(Color.FromArgb(127, 63, 79), 247);
  524. RGB_ACI.Add(Color.FromArgb(76, 0, 19), 248);
  525. RGB_ACI.Add(Color.FromArgb(76, 38, 47), 249);
  526. RGB_ACI.Add(Color.FromArgb(51, 51, 51), 250);
  527. RGB_ACI.Add(Color.FromArgb(91, 91, 91), 251);
  528. RGB_ACI.Add(Color.FromArgb(132, 132, 132), 252);
  529. RGB_ACI.Add(Color.FromArgb(173, 173, 173), 253);
  530. RGB_ACI.Add(Color.FromArgb(214, 214, 214), 254);
  531. RGB_ACI.Add(Color.FromArgb(255, 255, 255), 255);
  532. }
  533. #endregion Public Constructors
  534. #region Public Methods
  535. /// <summary>
  536. /// Get AutoCAD Color Index
  537. /// </summary>
  538. /// <param name="color"></param>
  539. /// <returns>AutoCAD Color Index</returns>
  540. public static byte GetAciColor(Color color)
  541. {
  542. byte aciColor = 0;
  543. RGB_ACI.TryGetValue(color, out aciColor);
  544. if (aciColor > 0)
  545. return aciColor;
  546. else
  547. {
  548. double k = double.MaxValue;
  549. // get the closest color
  550. foreach (KeyValuePair<Color, byte> pair in RGB_ACI)
  551. {
  552. double k1 = Math.Sqrt(Math.Pow((pair.Key.R - color.R), 2) +
  553. Math.Pow((pair.Key.G - color.G), 2) + Math.Pow((pair.Key.B - color.B), 2));
  554. if (k1 < k)
  555. {
  556. k = k1;
  557. aciColor = pair.Value;
  558. }
  559. }
  560. return aciColor;
  561. }
  562. }
  563. #endregion Public Methods
  564. }
  565. }