/******************************************************************************* * Copyright 2010 Simon Mieth * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ package org.kabeja.common; /** * @author <a href="mailto:simon.mieth@gmx.de>Simon Mieth</a> * @author <a href="mailto:michele.franzin@gmail.com>Michele Franzin</a> * * taken from http://www.isctex.com/acadcolors.php */ public class Color { private static final String[] rgbs = { /* 0 */"0,0,0", /* 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 */ "65,65,65", /* 9 */ "128,128,128", /* 10 */ "255,0,0", /* 11 */ "255,170,170", /* 12 */ "189,0,0", /* 13 */ "189,126,126", /* 14 */ "129,0,0", /* 15 */ "129,86,86", /* 16 */ "104,0,0", /* 17 */ "104,69,69", /* 18 */ "79,0,0", /* 19 */ "79,53,53", /* 20 */ "255,63,0", /* 21 */ "255,191,170", /* 22 */ "189,46,0", /* 23 */ "189,141,126", /* 24 */ "129,31,0", /* 25 */ "129,96,86", /* 26 */ "104,25,0", /* 27 */ "104,78,69", /* 28 */ "79,19,0", /* 29 */ "79,59,53", /* 30 */ "255,127,0", /* 31 */ "255,212,170", /* 32 */ "189,94,0", /* 33 */ "189,157,126", /* 34 */ "129,64,0", /* 35 */ "129,107,86", /* 36 */ "104,52,0", /* 37 */ "104,86,69", /* 38 */ "79,39,0", /* 39 */ "79,66,53", /* 40 */ "255,191,0", /* 41 */ "255,234,170", /* 42 */ "189,141,0", /* 43 */ "189,173,126", /* 44 */ "129,96,0", /* 45 */ "129,118,86", /* 46 */ "104,78,0", /* 47 */ "104,95,69", /* 48 */ "79,59,0", /* 49 */ "79,73,53", /* 50 */ "255,255,0", /* 51 */ "255,255,170", /* 52 */ "189,189,0", /* 53 */ "189,189,126", /* 54 */ "129,129,0", /* 55 */ "129,129,86", /* 56 */ "104,104,0", /* 57 */ "104,104,69", /* 58 */ "79,79,0", /* 59 */ "79,79,53", /* 60 */ "191,255,0", /* 61 */ "234,255,170", /* 62 */ "141,189,0", /* 63 */ "173,189,126", /* 64 */ "96,129,0", /* 65 */ "118,129,86", /* 66 */ "78,104,0", /* 67 */ "95,104,69", /* 68 */ "59,79,0", /* 69 */ "73,79,53", /* 70 */ "127,255,0", /* 71 */ "212,255,170", /* 72 */ "94,189,0", /* 73 */ "157,189,126", /* 74 */ "64,129,0", /* 75 */ "107,129,86", /* 76 */ "52,104,0", /* 77 */ "86,104,69", /* 78 */ "39,79,0", /* 79 */ "66,79,53", /* 80 */ "63,255,0", /* 81 */ "191,255,170", /* 82 */ "46,189,0", /* 83 */ "141,189,126", /* 84 */ "31,129,0", /* 85 */ "96,129,86", /* 86 */ "25,104,0", /* 87 */ "78,104,69", /* 88 */ "19,79,0", /* 89 */ "59,79,53", /* 90 */ "0,255,0", /* 91 */ "170,255,170", /* 92 */ "0,189,0", /* 93 */ "126,189,126", /* 94 */ "0,129,0", /* 95 */ "86,129,86", /* 96 */ "0,104,0", /* 97 */ "69,104,69", /* 98 */ "0,79,0", /* 99 */ "53,79,53", /* 100 */ "0,255,63", /* 101 */ "170,255,191", /* 102 */ "0,189,46", /* 103 */ "126,189,141", /* 104 */ "0,129,31", /* 105 */ "86,129,96", /* 106 */ "0,104,25", /* 107 */ "69,104,78", /* 108 */ "0,79,19", /* 109 */ "53,79,59", /* 110 */ "0,255,127", /* 111 */ "170,255,212", /* 112 */ "0,189,94", /* 113 */ "126,189,157", /* 114 */ "0,129,64", /* 115 */ "86,129,107", /* 116 */ "0,104,52", /* 117 */ "69,104,86", /* 118 */ "0,79,39", /* 119 */ "53,79,66", /* 120 */ "0,255,191", /* 121 */ "170,255,234", /* 122 */ "0,189,141", /* 123 */ "126,189,173", /* 124 */ "0,129,96", /* 125 */ "86,129,118", /* 126 */ "0,104,78", /* 127 */ "69,104,95", /* 128 */ "0,79,59", /* 129 */ "53,79,73", /* 130 */ "0,255,255", /* 131 */ "170,255,255", /* 132 */ "0,189,189", /* 133 */ "126,189,189", /* 134 */ "0,129,129", /* 135 */ "86,129,129", /* 136 */ "0,104,104", /* 137 */ "69,104,104", /* 138 */ "0,79,79", /* 139 */ "53,79,79", /* 140 */ "0,191,255", /* 141 */ "170,234,255", /* 142 */ "0,141,189", /* 143 */ "126,173,189", /* 144 */ "0,96,129", /* 145 */ "86,118,129", /* 146 */ "0,78,104", /* 147 */ "69,95,104", /* 148 */ "0,59,79", /* 149 */ "53,73,79", /* 150 */ "0,127,255", /* 151 */ "170,212,255", /* 152 */ "0,94,189", /* 153 */ "126,157,189", /* 154 */ "0,64,129", /* 155 */ "86,107,129", /* 156 */ "0,52,104", /* 157 */ "69,86,104", /* 158 */ "0,39,79", /* 159 */ "53,66,79", /* 160 */ "0,63,255", /* 161 */ "170,191,255", /* 162 */ "0,46,189", /* 163 */ "126,141,189", /* 164 */ "0,31,129", /* 165 */ "86,96,129", /* 166 */ "0,25,104", /* 167 */ "69,78,104", /* 168 */ "0,19,79", /* 169 */ "53,59,79", /* 170 */ "0,0,255", /* 171 */ "170,170,255", /* 172 */ "0,0,189", /* 173 */ "126,126,189", /* 174 */ "0,0,129", /* 175 */ "86,86,129", /* 176 */ "0,0,104", /* 177 */ "69,69,104", /* 178 */ "0,0,79", /* 179 */ "53,53,79", /* 180 */ "63,0,255", /* 181 */ "191,170,255", /* 182 */ "46,0,189", /* 183 */ "141,126,189", /* 184 */ "31,0,129", /* 185 */ "96,86,129", /* 186 */ "25,0,104", /* 187 */ "78,69,104", /* 188 */ "19,0,79", /* 189 */ "59,53,79", /* 190 */ "127,0,255", /* 191 */ "212,170,255", /* 192 */ "94,0,189", /* 193 */ "157,126,189", /* 194 */ "64,0,129", /* 195 */ "107,86,129", /* 196 */ "52,0,104", /* 197 */ "86,69,104", /* 198 */ "39,0,79", /* 199 */ "66,53,79", /* 200 */ "191,0,255", /* 201 */ "234,170,255", /* 202 */ "141,0,189", /* 203 */ "173,126,189", /* 204 */ "96,0,129", /* 205 */ "118,86,129", /* 206 */ "78,0,104", /* 207 */ "95,69,104", /* 208 */ "59,0,79", /* 209 */ "73,53,79", /* 210 */ "255,0,255", /* 211 */ "255,170,255", /* 212 */ "189,0,189", /* 213 */ "189,126,189", /* 214 */ "129,0,129", /* 215 */ "129,86,129", /* 216 */ "104,0,104", /* 217 */ "104,69,104", /* 218 */ "79,0,79", /* 219 */ "79,53,79", /* 220 */ "255,0,191", /* 221 */ "255,170,234", /* 222 */ "189,0,141", /* 223 */ "189,126,173", /* 224 */ "129,0,96", /* 225 */ "129,86,118", /* 226 */ "104,0,78", /* 227 */ "104,69,95", /* 228 */ "79,0,59", /* 229 */ "79,53,73", /* 230 */ "255,0,127", /* 231 */ "255,170,212", /* 232 */ "189,0,94", /* 233 */ "189,126,157", /* 234 */ "129,0,64", /* 235 */ "129,86,107", /* 236 */ "104,0,52", /* 237 */ "104,69,86", /* 238 */ "79,0,39", /* 239 */ "79,53,66", /* 240 */ "255,0,63", /* 241 */ "255,170,191", /* 242 */ "189,0,46", /* 243 */ "189,126,141", /* 244 */ "129,0,31", /* 245 */ "129,86,96", /* 246 */ "104,0,25", /* 247 */ "104,69,78", /* 248 */ "79,0,19", /* 249 */ "79,53,59", /* 250 */ "51,51,51", /* 251 */ "80,80,80", /* 252 */ "105,105,105", /* 253 */ "130,130,130", /* 254 */ "190,190,190", /* 255 */ "255,255,255" }; public static String getRGBString(int dxfColorCode) { if ((dxfColorCode < 0) || (dxfColorCode > rgbs.length)) { // default is white dxfColorCode = 7; } return "rgb(" + rgbs[dxfColorCode] + ")"; } public static String getRGBString(byte[] b) { StringBuilder buf = new StringBuilder("rgb("); buf.append((int) b[0]); buf.append(","); buf.append((int) b[1]); buf.append(","); buf.append((int) b[2]); buf.append(")"); return buf.toString(); } }