"#f0f8ff", "antiquewhite" => "#faebd7", "aqua" => "#00ffff", "aquamarine" => "#7fffd4", "azure" => "#f0ffff", "beige" => "#f5f5dc", "bisque" => "#ffe4c4", "black" => "#000000", "blanchedalmond" => "#ffebcd", "blue" => "#0000ff", "blueviolet" => "#8a2be2", "brown" => "#a52a2a", "burlywood" => "#deb887", "cadetblue" => "#5f9ea0", "chartreuse" => "#7fff00", "chocolate" => "#d2691e", "coral" => "#ff7f50", "cornflowerblue" => "#6495ed", "cornsilk" => "#fff8dc", "crimson" => "#dc143c", "cyan" => "#00ffff", "darkblue" => "#00008b", "darkcyan" => "#008b8b", "darkgoldenrod" => "#b8860b", "darkgray" => "#a9a9a9", "darkgrey" => "#a9a9a9", "darkgreen" => "#006400", "darkkhaki" => "#bdb76b", "darkmagenta" => "#8b008b", "darkolivegreen" => "#556b2f", "darkorange" => "#ff8c00", "darkorchid" => "#9932cc", "darkred" => "#8b0000", "darksalmon" => "#e9967a", "darkseagreen" => "#8fbc8f", "darkslateblue" => "#483d8b", "darkslategray" => "#2f4f4f", "darkslategrey" => "#2f4f4f", "darkturquoise" => "#00ced1", "darkviolet" => "#9400d3", "deeppink" => "#ff1493", "deepskyblue" => "#00bfff", "dimgray" => "#696969", "dimgrey" => "#696969", "dodgerblue" => "#1e90ff", "firebrick" => "#b22222", "floralwhite" => "#fffaf0", "forestgreen" => "#228b22", "fuchsia" => "#ff00ff", "gainsboro" => "#dcdcdc", "ghostwhite" => "#f8f8ff", "gold" => "#ffd700", "goldenrod" => "#daa520", "gray" => "#808080", "grey" => "#808080", "green" => "#008000", "greenyellow" => "#adff2f", "honeydew" => "#f0fff0", "hotpink" => "#ff69b4", "indianred" => "#cd5c5c", "indigo" => "#4b0082", "ivory" => "#fffff0", "khaki" => "#f0e68c", "lavender" => "#e6e6fa", "lavenderblush" => "#fff0f5", "lawngreen" => "#7cfc00", "lemonchiffon" => "#fffacd", "lightblue" => "#add8e6", "lightcoral" => "#f08080", "lightcyan" => "#e0ffff", "lightgoldenrodyellow" => "#fafad2", "lightgray" => "#d3d3d3", "lightgrey" => "#d3d3d3", "lightgreen" => "#90ee90", "lightpink" => "#ffb6c1", "lightsalmon" => "#ffa07a", "lightseagreen" => "#20b2aa", "lightskyblue" => "#87cefa", "lightslategray" => "#778899", "lightslategrey" => "#778899", "lightsteelblue" => "#b0c4de", "lightyellow" => "#ffffe0", "lime" => "#00ff00", "limegreen" => "#32cd32", "linen" => "#faf0e6", "magenta" => "#ff00ff", "maroon" => "#800000", "mediumaquamarine" => "#66cdaa", "mediumblue" => "#0000cd", "mediumorchid" => "#ba55d3", "mediumpurple" => "#9370d8", "mediumseagreen" => "#3cb371", "mediumslateblue" => "#7b68ee", "mediumspringgreen" => "#00fa9a", "mediumturquoise" => "#48d1cc", "mediumvioletred" => "#c71585", "midnightblue" => "#191970", "mintcream" => "#f5fffa", "mistyrose" => "#ffe4e1", "moccasin" => "#ffe4b5", "navajowhite" => "#ffdead", "navy" => "#000080", "oldlace" => "#fdf5e6", "olive" => "#808000", "olivedrab" => "#6b8e23", "orange" => "#ffa500", "orangered" => "#ff4500", "orchid" => "#da70d6", "palegoldenrod" => "#eee8aa", "palegreen" => "#98fb98", "paleturquoise" => "#afeeee", "palevioletred" => "#d87093", "papayawhip" => "#ffefd5", "peachpuff" => "#ffdab9", "peru" => "#cd853f", "pink" => "#ffc0cb", "plum" => "#dda0dd", "powderblue" => "#b0e0e6", "purple" => "#800080", "red" => "#ff0000", "rosybrown" => "#bc8f8f", "royalblue" => "#4169e1", "saddlebrown" => "#8b4513", "salmon" => "#fa8072", "sandybrown" => "#f4a460", "seagreen" => "#2e8b57", "seashell" => "#fff5ee", "sienna" => "#a0522d", "silver" => "#c0c0c0", "skyblue" => "#87ceeb", "slateblue" => "#6a5acd", "slategray" => "#708090", "slategrey" => "#708090", "snow" => "#fffafa", "springgreen" => "#00ff7f", "steelblue" => "#4682b4", "tan" => "#d2b48c", "teal" => "#008080", "thistle" => "#d8bfd8", "tomato" => "#ff6347", "turquoise" => "#40e0d0", "violet" => "#ee82ee", "wheat" => "#f5deb3", "white" => "#ffffff", "whitesmoke" => "#f5f5f5", "yellow" => "#ffff00", "yellowgreen" => "#9acd32"); var $palette_array = array( 0x000000, 0xffffff, 0xff0000, 0x00ff00, 0x0000ff, 0xffff00, 0xff00ff, 0x00ffff, 0x800000, 0x008000, 0x000080, 0x808000, 0x800080, 0x008080, 0xc0c0c0, 0x808080, 0x9999ff, 0x993366, 0xffffcc, 0xccffff, 0x660066, 0xff8080, 0x0066cc, 0xccccff, 0x000080, 0xff00ff, 0xffff00, 0x00ffff, 0x800080, 0x800000, 0x008080, 0x0000ff, 0x00ccff, 0xccffff, 0xccffcc, 0xffff99, 0x99ccff, 0xff99cc, 0xcc99ff, 0xffcc99, 0x3366ff, 0x33cccc, 0x99cc00, 0xffcc00, 0xff9900, 0xff6600, 0x666699, 0x969696, 0x003366, 0x339966, 0x003300, 0x333300, 0x993300, 0x993366, 0x333399, 0xc7c7c7 ); public function getcoloridx($acolor) { if (is_array($acolor)) { $red = $acolor["red"]; $green = $acolor["green"]; $blue = $acolor["blue"]; return $this->findcolor($red,$green,$blue); } else if (!is_numeric($acolor)) { if ($acolor{0}=="#") { return $this->findhtmlcolor($acolor); } else { return $this->findnamedcolor($acolor); } } else { $red = ($acolor & 0x00ff0000) >> 16; $green = ($acolor & 0x0000ff00) >> 8; $blue = ($acolor & 0x000000ff); return $this->findcolor($red,$green,$blue); } } public function findnamedcolor($colorname) { if (!isset($this->htmlcolorarray[strtolower($colorname)])) { die("unknown color name."); } return $this->findhtmlcolor($this->htmlcolorarray[strtolower($colorname)]); } public function findhtmlcolor($htmlcolor) { $red = hexdec(substr($htmlcolor,1,2)); $green = hexdec(substr($htmlcolor,3,2)); $blue = hexdec(substr($htmlcolor,5,2)); return $this->findcolor($red,$green,$blue); } public function findcolor($ared,$agreen,$ablue) { $rgbval = 0; $rgbval = ($ared<<16) | ($agreen << 8) | ($ablue << 0); // before allocate, check the color in the array // if found, return colorindex $colorindex = array_search($rgbval,$this->palette_array); if ($colorindex===false) { return $colorindex; //$colorindex = count($this->palette_array); //$this->palette_array[] = $rgbval; } $colorindex += 8; return $colorindex; } public function change_color($idx,$color) { $oldidx = $this->getcoloridx($color); if ($oldidx!==false) { return $oldidx; } if (is_array($color)) { $red = $acolor["red"]; $green = $acolor["green"]; $blue = $acolor["blue"]; $rgbval = ($red<<16) | ($green << 8) | ($blue << 0); $this->palette_array[$idx-8] = $rgbval; } else if (!is_numeric($color)) { if ($color{0}=="#") { $rgbval = hexdec(substr($color,1)); $this->palette_array[$idx-8] = $rgbval; } else { if (!isset($this->htmlcolorarray[strtolower($color)])) { die("unknown color name."); } $this->palette_array[$idx-8] = hexdec(substr($this->htmlcolorarray[strtolower($color)],1)); } } else { $this->palette_array[$idx-8] = $color; } return $idx; } public function save($filehandle,$xls_biffobject) { $xls_biffobject->clear(BIFF_PALETTE); $xls_biffobject->append(XLSDATA_SHORT,count($this->palette_array)); foreach ($this->palette_array as $key => $color_data) { $tmp = $color_data<<8; $xls_biffobject->append(XLSDATA_DATA32BIT,$tmp); } $xls_biffobject->save($filehandle); } } ?>