55 'aliceblue' =>
'f0f8ff',
56 'antiquewhite' =>
'faebd7',
58 'aquamarine' =>
'7fffd4',
63 'blanchedalmond' =>
'ffebcd',
65 'blueviolet' =>
'8a2be2',
67 'burlywood' =>
'deb887',
68 'cadetblue' =>
'5f9ea0',
69 'chartreuse' =>
'7fff00',
70 'chocolate' =>
'd2691e',
72 'cornflowerblue' =>
'6495ed',
73 'cornsilk' =>
'fff8dc',
74 'crimson' =>
'dc143c',
76 'darkblue' =>
'00008b',
77 'darkcyan' =>
'008b8b',
78 'darkgoldenrod' =>
'b8860b',
80 'darkgray' =>
'a9a9a9',
81 'darkgrey' =>
'a9a9a9',
82 'darkgreen' =>
'006400',
83 'darkkhaki' =>
'bdb76b',
84 'darkmagenta' =>
'8b008b',
85 'darkolivegreen' =>
'556b2f',
86 'darkorange' =>
'ff8c00',
87 'darkorchid' =>
'9932cc',
88 'darkred' =>
'8b0000',
89 'darksalmon' =>
'e9967a',
90 'darkseagreen' =>
'8fbc8f',
91 'darkslateblue' =>
'483d8b',
92 'darkslategray' =>
'2f4f4f',
93 'darkslategrey' =>
'2f4f4f',
94 'darkturquoise' =>
'00ced1',
95 'darkviolet' =>
'9400d3',
96 'deeppink' =>
'ff1493',
97 'deepskyblue' =>
'00bfff',
98 'dimgray' =>
'696969',
99 'dimgrey' =>
'696969',
100 'dodgerblue' =>
'1e90ff',
101 'firebrick' =>
'b22222',
102 'floralwhite' =>
'fffaf0',
103 'forestgreen' =>
'228b22',
104 'fuchsia' =>
'ff00ff',
105 'gainsboro' =>
'dcdcdc',
106 'ghostwhite' =>
'f8f8ff',
108 'goldenrod' =>
'daa520',
112 'greenyellow' =>
'adff2f',
113 'honeydew' =>
'f0fff0',
114 'hotpink' =>
'ff69b4',
115 'indianred' =>
'cd5c5c',
116 'indigo' =>
'4b0082',
119 'lavender' =>
'e6e6fa',
120 'lavenderblush' =>
'fff0f5',
121 'lawngreen' =>
'7cfc00',
122 'lemonchiffon' =>
'fffacd',
123 'lightblue' =>
'add8e6',
124 'lightcoral' =>
'f08080',
125 'lightcyan' =>
'e0ffff',
126 'lightgoldenrodyellow' =>
'fafad2',
127 'ltgray' =>
'd3d3d3',
128 'lightgray' =>
'd3d3d3',
129 'lightgrey' =>
'd3d3d3',
130 'lightgreen' =>
'90ee90',
131 'lightpink' =>
'ffb6c1',
132 'lightsalmon' =>
'ffa07a',
133 'lightseagreen' =>
'20b2aa',
134 'lightskyblue' =>
'87cefa',
135 'lightslategray' =>
'778899',
136 'lightslategrey' =>
'778899',
137 'lightsteelblue' =>
'b0c4de',
138 'lightyellow' =>
'ffffe0',
140 'limegreen' =>
'32cd32',
142 'magenta' =>
'ff00ff',
143 'maroon' =>
'800000',
144 'mediumaquamarine' =>
'66cdaa',
145 'mediumblue' =>
'0000cd',
146 'mediumorchid' =>
'ba55d3',
147 'mediumpurple' =>
'9370d8',
148 'mediumseagreen' =>
'3cb371',
149 'mediumslateblue' =>
'7b68ee',
150 'mediumspringgreen' =>
'00fa9a',
151 'mediumturquoise' =>
'48d1cc',
152 'mediumvioletred' =>
'c71585',
153 'midnightblue' =>
'191970',
154 'mintcream' =>
'f5fffa',
155 'mistyrose' =>
'ffe4e1',
156 'moccasin' =>
'ffe4b5',
157 'navajowhite' =>
'ffdead',
159 'oldlace' =>
'fdf5e6',
161 'olivedrab' =>
'6b8e23',
162 'orange' =>
'ffa500',
163 'orangered' =>
'ff4500',
164 'orchid' =>
'da70d6',
165 'palegoldenrod' =>
'eee8aa',
166 'palegreen' =>
'98fb98',
167 'paleturquoise' =>
'afeeee',
168 'palevioletred' =>
'd87093',
169 'papayawhip' =>
'ffefd5',
170 'peachpuff' =>
'ffdab9',
174 'powderblue' =>
'b0e0e6',
175 'purple' =>
'800080',
177 'rosybrown' =>
'bc8f8f',
178 'royalblue' =>
'4169e1',
179 'saddlebrown' =>
'8b4513',
180 'salmon' =>
'fa8072',
181 'sandybrown' =>
'f4a460',
182 'seagreen' =>
'2e8b57',
183 'seashell' =>
'fff5ee',
184 'sienna' =>
'a0522d',
185 'silver' =>
'c0c0c0',
186 'skyblue' =>
'87ceeb',
187 'slateblue' =>
'6a5acd',
188 'slategray' =>
'708090',
189 'slategrey' =>
'708090',
191 'springgreen' =>
'00ff7f',
192 'steelblue' =>
'4682b4',
195 'thistle' =>
'd8bfd8',
196 'tomato' =>
'ff6347',
197 'turquoise' =>
'40e0d0',
198 'violet' =>
'ee82ee',
201 'whitesmoke' =>
'f5f5f5',
202 'yellow' =>
'ffff00',
203 'yellowgreen' =>
'9acd32'
210 public static $jscolor = array (
'transparent',
'black',
'white',
'red',
'green',
'blue',
'cyan',
'magenta',
'yellow',
'dkGray',
'gray',
'ltGray');
221 'none' => array( 0, 0, 0, 0,
'None'),
222 'all' => array(100, 100, 100, 100,
'All'),
224 'cyan' => array(100, 0, 0, 0,
'Cyan'),
225 'magenta' => array( 0, 100, 0, 0,
'Magenta'),
226 'yellow' => array( 0, 0, 100, 0,
'Yellow'),
227 'key' => array( 0, 0, 0, 100,
'Key'),
229 'white' => array( 0, 0, 0, 0,
'White'),
230 'black' => array( 0, 0, 0, 100,
'Black'),
232 'red' => array( 0, 100, 100, 0,
'Red'),
233 'green' => array(100, 0, 100, 0,
'Green'),
234 'blue' => array(100, 100, 0, 0,
'Blue'),
250 if (isset($spotc[$name])) {
251 return $spotc[$name];
253 $color = preg_replace(
'/[\s]*/',
'', $name);
254 $color = strtolower($color);
255 if (isset(self::$spotcolor[$color])) {
256 if (!isset($spotc[$name])) {
257 $i = (1 + count($spotc));
258 $spotc[$name] = array(
'C' => self::$spotcolor[$color][0],
'M' => self::$spotcolor[$color][1],
'Y' => self::$spotcolor[$color][2],
'K' => self::$spotcolor[$color][3],
'name' => self::$spotcolor[$color][4],
'i' => $i);
260 return $spotc[self::$spotcolor[$color][4]];
274 $color = preg_replace(
'/[\s]*/',
'', $hcolor);
275 $color = strtolower($color);
277 if (strpos($color,
'[') !==
false) {
278 if (preg_match(
'/[\[][\"\'](t|g|rgb|cmyk)[\"\'][\,]?([0-9\.]*)[\,]?([0-9\.]*)[\,]?([0-9\.]*)[\,]?([0-9\.]*)[\]]/', $color, $m) > 0) {
279 $returncolor = array();
283 $returncolor[
'C'] = max(0, min(100, (floatval($m[2]) * 100)));
284 $returncolor[
'M'] = max(0, min(100, (floatval($m[3]) * 100)));
285 $returncolor[
'Y'] = max(0, min(100, (floatval($m[4]) * 100)));
286 $returncolor[
'K'] = max(0, min(100, (floatval($m[5]) * 100)));
291 $returncolor[
'R'] = max(0, min(255, (floatval($m[2]) * 255)));
292 $returncolor[
'G'] = max(0, min(255, (floatval($m[3]) * 255)));
293 $returncolor[
'B'] = max(0, min(255, (floatval($m[4]) * 255)));
298 $returncolor[
'G'] = max(0, min(255, (floatval($m[2]) * 255)));
309 } elseif ((substr($color, 0, 4) !=
'cmyk') AND (substr($color, 0, 3) !=
'rgb') AND (($dotpos = strpos($color,
'.')) !==
false)) {
311 $color = substr($color, ($dotpos + 1));
312 if ($color ==
'transparent') {
317 if (strlen($color) == 0) {
321 if (substr($color, 0, 3) ==
'rgb') {
322 $codes = substr($color, 4);
323 $codes = str_replace(
')',
'', $codes);
324 $returncolor = explode(
',', $codes);
325 foreach ($returncolor as $key => $val) {
326 if (strpos($val,
'%') > 0) {
328 $returncolor[$key] = (255 * intval($val) / 100);
330 $returncolor[$key] = intval($val);
333 $returncolor[$key] = max(0, min(255, $returncolor[$key]));
338 if (substr($color, 0, 4) ==
'cmyk') {
339 $codes = substr($color, 5);
340 $codes = str_replace(
')',
'', $codes);
341 $returncolor = explode(
',', $codes);
342 foreach ($returncolor as $key => $val) {
343 if (strpos($val,
'%') !==
false) {
345 $returncolor[$key] = (100 * intval($val) / 100);
347 $returncolor[$key] = intval($val);
350 $returncolor[$key] = max(0, min(100, $returncolor[$key]));
354 if ($color{0} !=
'#') {
356 if (isset(self::$webcolor[$color])) {
358 $color_code = self::$webcolor[$color];
361 $returncolor = self::getSpotColor($color, $spotc);
362 if ($returncolor ===
false) {
363 $returncolor = $defcol;
368 $color_code = substr($color, 1);
371 switch (strlen($color_code)) {
374 $r = substr($color_code, 0, 1);
375 $g = substr($color_code, 1, 1);
376 $b = substr($color_code, 2, 1);
377 $returncolor = array();
378 $returncolor[
'R'] = max(0, min(255, hexdec($r.$r)));
379 $returncolor[
'G'] = max(0, min(255, hexdec($g.$g)));
380 $returncolor[
'B'] = max(0, min(255, hexdec($b.$b)));
385 $returncolor = array();
386 $returncolor[
'R'] = max(0, min(255, hexdec(substr($color_code, 0, 2))));
387 $returncolor[
'G'] = max(0, min(255, hexdec(substr($color_code, 2, 2))));
388 $returncolor[
'B'] = max(0, min(255, hexdec(substr($color_code, 4, 2))));
393 $returncolor = array();
394 $returncolor[
'C'] = max(0, min(100, round(hexdec(substr($color_code, 0, 2)) / 2.55)));
395 $returncolor[
'M'] = max(0, min(100, round(hexdec(substr($color_code, 2, 2)) / 2.55)));
396 $returncolor[
'Y'] = max(0, min(100, round(hexdec(substr($color_code, 4, 2)) / 2.55)));
397 $returncolor[
'K'] = max(0, min(100, round(hexdec(substr($color_code, 6, 2)) / 2.55)));
401 $returncolor = $defcol;
416 $c = array_values($c);
421 $color .= sprintf(
'%F %F %F %F', (max(0, min(100, floatval($c[0]))) / 100), (max(0, min(100, floatval($c[1]))) / 100), (max(0, min(100, floatval($c[2]))) / 100), (max(0, min(100, floatval($c[3]))) / 100));
426 $color .= sprintf(
'%F %F %F', (max(0, min(255, floatval($c[0]))) / 255), (max(0, min(255, floatval($c[1]))) / 255), (max(0, min(255, floatval($c[2]))) / 255));
431 $color .= sprintf(
'%F', (max(0, min(255, floatval($c[0]))) / 255));
447 if (substr($color, 0, 1) ==
'#') {
448 return sprintf(
"['RGB',%F,%F,%F]", (hexdec(substr($color, 1, 2)) / 255), (hexdec(substr($color, 3, 2)) / 255), (hexdec(substr($color, 5, 2)) / 255));
450 if (!in_array($color, self::$jscolor)) {
454 return 'color.'.$color;