Alien-FreeImage

 view release on metacpan or  search on metacpan

src/Source/FreeImage/ColorLookup.cpp  view on Meta::CPAN

    { "steelblue",             70, 130, 180 },
    { "steelblue1",            99, 184, 255 },
    { "steelblue2",            92, 172, 238 },
    { "steelblue3",            79, 148, 205 },
    { "steelblue4",            54, 100, 139 },
    { "tan",                  210, 180, 140 },
    { "tan1",                 255, 165,  79 },
    { "tan2",                 238, 154,  73 },
    { "tan3",                 205, 133,  63 },
    { "tan4",                 139,  90,  43 },
    { "thistle",              216, 191, 216 },
    { "thistle1",             255, 225, 255 },
    { "thistle2",             238, 210, 238 },
    { "thistle3",             205, 181, 205 },
    { "thistle4",             139, 123, 139 },
    { "tomato",               255,  99,  71 },
    { "tomato1",              255,  99,  71 },
    { "tomato2",              238,  92,  66 },
    { "tomato3",              205,  79,  57 },
    { "tomato4",              139,  54,  38 },
    { "turquoise",             64, 224, 208 },
    { "turquoise1",             0, 245, 255 },
    { "turquoise2",             0, 229, 238 },
    { "turquoise3",             0, 197, 205 },
    { "turquoise4",             0, 134, 139 },
    { "violet",               238, 130, 238 },
    { "violetred",            208,  32, 144 },
    { "violetred1",           255,  62, 150 },
    { "violetred2",           238,  58, 140 },
    { "violetred3",           205,  50, 120 },
    { "violetred4",           139,  34,  82 },
    { "wheat",                245, 222, 179 },
    { "wheat1",               255, 231, 186 },
    { "wheat2",               238, 216, 174 },
    { "wheat3",               205, 186, 150 },
    { "wheat4",               139, 126, 102 },
    { "white",                255, 255, 255 },
    { "whitesmoke",           245, 245, 245 },
    { "yellow",               255, 255,   0 },
    { "yellow1",              255, 255,   0 },
    { "yellow2",              238, 238,   0 },
    { "yellow3",              205, 205,   0 },
    { "yellow4",              139, 139,   0 },
    { "yellowgreen",          154, 205,  50 }
};


BOOL DLL_CALLCONV
FreeImage_LookupX11Color(const char *szColor, BYTE *nRed, BYTE *nGreen, BYTE *nBlue) {
    int i;

    // lookup color
    i = FreeImage_LookupNamedColor(szColor, X11ColorMap, sizeof(X11ColorMap)/sizeof(X11ColorMap[0]));
    if (i >= 0) {
        *nRed   = X11ColorMap[i].r;
        *nGreen = X11ColorMap[i].g;
        *nBlue  = X11ColorMap[i].b;
        return TRUE;
    }

    // not found, try for grey color with attached percent value
    if ( (szColor[0] == 'g' || szColor[0] == 'G') &&
         (szColor[1] == 'r' || szColor[1] == 'R') &&
         (szColor[2] == 'e' || szColor[2] == 'E' || szColor[2] == 'a' || szColor[2] == 'A' ) &&
         (szColor[3] == 'y' || szColor[3] == 'Y' ) )  {

        // grey<num>, or gray<num>, num 1...100
        i = strtol(szColor+4, NULL, 10);
        *nRed   = (BYTE)(255.0/100.0 * i);
        *nGreen = *nRed;
        *nBlue  = *nRed;

        return TRUE;
    }

    // not found at all
    *nRed   = 0;
    *nGreen = 0;
    *nBlue  = 0;

    return FALSE;
}

// ==========================================================
// SVG Color name lookup

/**
 These are the colors defined in the SVG standard (I haven't checked
 the final recommendation for changes)
*/
static NamedColor SVGColorMap[] = {
	{ "aliceblue",                  240, 248, 255 },
	{ "antiquewhite",               250, 235, 215 },
	{ "aqua",                         0, 255, 255 },
	{ "aquamarine",                 127, 255, 212 },
	{ "azure",                      240, 255, 255 },
	{ "beige",                      245, 245, 220 },
	{ "bisque",                     255, 228, 196 },
	{ "black",                        0,   0,   0 },
	{ "blanchedalmond",             255, 235, 205 },
	{ "blue",                         0,   0, 255 },
	{ "blueviolet",                 138,  43, 226 },
	{ "brown",                      165,  42,  42 },
	{ "burlywood",                  222, 184, 135 },
	{ "cadetblue",                   95, 158, 160 },
	{ "chartreuse",                 127, 255,   0 },
	{ "chocolate",                  210, 105,  30 },
	{ "coral",                      255, 127,  80 },
	{ "cornflowerblue",             100, 149, 237 },
	{ "cornsilk",                   255, 248, 220 },
	{ "crimson",                    220,  20,  60 },
	{ "cyan",                         0, 255, 255 },
	{ "darkblue",                     0,   0, 139 },
	{ "darkcyan",                     0, 139, 139 },
	{ "darkgoldenrod",              184, 134,  11 },
	{ "darkgray",                   169, 169, 169 },
	{ "darkgreen",                    0, 100,   0 },
	{ "darkgrey",                   169, 169, 169 },
	{ "darkkhaki",                  189, 183, 107 },
	{ "darkmagenta",                139,   0, 139 },
	{ "darkolivegreen",              85, 107,  47 },

src/Source/FreeImage/ColorLookup.cpp  view on Meta::CPAN

	{ "olive",                      128, 128,   0 },
	{ "olivedrab",                  107, 142,  35 },
	{ "orange",                     255, 165,   0 },
	{ "orangered",                  255,  69,   0 },
	{ "orchid",                     218, 112, 214 },
	{ "palegoldenrod",              238, 232, 170 },
	{ "palegreen",                  152, 251, 152 },
	{ "paleturquoise",              175, 238, 238 },
	{ "palevioletred",              219, 112, 147 },
	{ "papayawhip",                 255, 239, 213 },
	{ "peachpuff",                  255, 218, 185 },
	{ "peru",                       205, 133,  63 },
	{ "pink",                       255, 192, 203 },
	{ "plum",                       221, 160, 221 },
	{ "powderblue",                 176, 224, 230 },
	{ "purple",                     128,   0, 128 },
	{ "red",                        255,   0,   0 },
	{ "rosybrown",                  188, 143, 143 },
	{ "royalblue",                   65, 105, 225 },
	{ "saddlebrown",                139,  69,  19 },
	{ "salmon",                     250, 128, 114 },
	{ "sandybrown",                 244, 164,  96 },
	{ "seagreen",                    46, 139,  87 },
	{ "seashell",                   255, 245, 238 },
	{ "sienna",                     160,  82,  45 },
	{ "silver",                     192, 192, 192 },
	{ "skyblue",                    135, 206, 235 },
	{ "slateblue",                  106,  90, 205 },
	{ "slategray",                  112, 128, 144 },
	{ "slategrey",                  112, 128, 144 },
	{ "snow",                       255, 250, 250 },
	{ "springgreen",                  0, 255, 127 },
	{ "steelblue",                   70, 130, 180 },
	{ "tan",                        210, 180, 140 },
	{ "teal",                         0, 128, 128 },
	{ "thistle",                    216, 191, 216 },
	{ "tomato",                     255,  99,  71 },
	{ "turquoise",                   64, 224, 208 },
	{ "violet",                     238, 130, 238 },
	{ "wheat",                      245, 222, 179 },
	{ "white",                      255, 255, 255 },
	{ "whitesmoke",                 245, 245, 245 },
	{ "yellow",                     255, 255,   0 },
	{ "yellowgreen",                154, 205,  50 }
};


BOOL DLL_CALLCONV
FreeImage_LookupSVGColor(const char *szColor, BYTE *nRed, BYTE *nGreen, BYTE *nBlue) {
    int i;

    // lookup color
    i = FreeImage_LookupNamedColor(szColor, SVGColorMap, sizeof(SVGColorMap)/sizeof(SVGColorMap[0]));
    if (i >= 0) {
        *nRed   = SVGColorMap[i].r;
        *nGreen = SVGColorMap[i].g;
        *nBlue  = SVGColorMap[i].b;
        return TRUE;
    }

    // not found, try for grey color with attached percent value
    if ( (szColor[0] == 'g' || szColor[0] == 'G') &&
         (szColor[1] == 'r' || szColor[1] == 'R') &&
         (szColor[2] == 'e' || szColor[2] == 'E' || szColor[2] == 'a' || szColor[2] == 'A' ) &&
         (szColor[3] == 'y' || szColor[3] == 'Y' ) )  {

        // grey<num>, or gray<num>, num 1...100
        i = strtol(szColor+4, NULL, 10);
        *nRed   = (BYTE)(255.0/100.0 * i);
        *nGreen = *nRed;
        *nBlue  = *nRed;
        return TRUE;
    }

    // not found at all
    *nRed   = 0;
    *nGreen = 0;
    *nBlue  = 0;

    return FALSE;
}



( run in 0.699 second using v1.01-cache-2.11-cpan-4991d5b9bd9 )