zoukankan      html  css  js  c++  java
  • C 图像处理 颜色相关宏定义

          很多年前整理的,像素处理的宏定义,包括r8g8b8到r5g6b5之间的相互转化,浮点数像素与整数值之间的相互转化,像素值的插值、取反等处理。具体没什么好说的,宏定义的代码还是很容易看的。这套东西对搞图像处理的来说非常有意义。

      1 /****************************************************************
      2 
      3   File name   :  WhyColorDefines.h
      4   Author      :  叶飞影
      5   Version     :  2.0
      6   Create Date :  2010/08/05   
      7   Description :  颜色相关宏定义
      8 
      9 *****************************************************************/
     10 
     11 #ifndef __WhyColorDefines_H__
     12 #define __WhyColorDefines_H__
     13 
     14 // INCLUDES -----------------------------------------------------------------------------
     15 
     16 #include "WhyDefines.h"
     17 
     18 // --------------------------------------------------------------------------------------
     19 
     20 enum YePixelType
     21 {
     22     YE_PT_INVALID               = 0,
     23     YE_PT_GRAY_8                = 1,
     24     YE_PT_A8R8G8B8              = 2,
     25     YE_PT_R8G8B8                = 3,
     26     YE_PT_A1R5G5B5              = 4,
     27     YE_PT_R5G6B5                = 5,
     28     YE_PT_A4R4G4B4              = 6,
     29 };
     30 
     31 // --------------------------------------------------------------------------------------
     32 
     33 #define YD_INT_TO_BYTE(x)       ( (x) < 0 ? 0 : (((x) > 255) ? 255 : (x)) )
     34 #define YD_REAL_TO_BYTE(x)      ( (x) < 0 ? 0 : (((x) > 1.0f) ? 255 : (Ybyte)((x) * 255)) )
     35 #define YD_BYTE_TO_REAL(x)      ( (x) * 0.00392156862745f);           // x / 255
     36 
     37 // --------------------------------------------------------------------------------------
     38 
     39 /*****A8R8G8B8*****/
     40 
     41 // 通过R,G,B生成一整数表示颜色
     42 #define YD_RGB(r,g,b)                                   
     43 ( (Ycolor) ( (Ybyte)(b) |                               
     44              ( (Ycolor(Ybyte(g))) << 8 ) |              
     45              ( (Ycolor(Ybyte(r))) << 16 ) |             
     46              0xff000000 )                               
     47 )
     48 
     49 // 通过R,G,B,A生成一整数表示颜色
     50 #define YD_ARGB(a,r,g,b)                                
     51 ( (Ycolor) ( (Ybyte)(b) |                               
     52              ( (Ycolor(Ybyte(g))) << 8 ) |              
     53              ( (Ycolor(Ybyte(r))) << 16 ) |             
     54              ( (Ycolor(Ybyte(a))) << 24 ) )             
     55 )
     56 
     57 // 交换R分量与B分量
     58 #define YD_SWITCH_R_B(color)                            
     59 {                                                       
     60     Ycolor a = YD_GET_A(color);                         
     61     Ycolor r = YD_GET_R(color);                         
     62     Ycolor g = YD_GET_G(color);                         
     63     Ycolor b = YD_GET_B(color);                         
     64     color = YD_ARGB(a,b,g,r);                           
     65 }
     66 
     67 // 修改A分量
     68 #define YD_COLOR_ALPHA(color, alpha)                    
     69 {                                                       
     70     Yuint a = YD_GET_A(color);                          
     71     a = (Yuint)(a*alpha);                               
     72     color &= 0x00ffffff;                                
     73     color |= (a << 24);                                 
     74 }
     75 
     76 #define YD_GET_A(color)         ( ((color) & 0xff000000) >> 24L )
     77 #define YD_GET_R(color)         ( ((color) & 0x00ff0000) >> 16L )
     78 #define YD_GET_G(color)         ( ((color) & 0x0000ff00) >> 8L )
     79 #define YD_GET_B(color)         ( ((color) & 0x000000ff) )
     80 
     81 #define YD_GET_ARGB(color, a, r, g, b)                  
     82 {                                                       
     83     a = YD_GET_A(color);                                
     84     r = YD_GET_R(color);                                
     85     g = YD_GET_G(color);                                
     86     b = YD_GET_B(color);                                
     87 }
     88 
     89 // 颜色各分量的平均值
     90 #define YD_ARGB_AVERAGE(color1, color2, colorDest)      
     91 {                                                       
     92     Ycolor a1, r1, g1, b1;                              
     93     Ycolor a2, r2, g2, b2;                              
     94     Ycolor ad, rd, gd, bd;                              
     95     YD_GET_ARGB(color1, a1, r1, g1, b1);                
     96     YD_GET_ARGB(color2, a2, r2, g2, b2);                
     97     ad = (a1 + a2) / 2;                                 
     98     rd = (r1 + r2) / 2;                                 
     99     gd = (g1 + g2) / 2;                                 
    100     bd = (b1 + b2) / 2;                                 
    101     colorDest = YD_ARGB(ad, rd, gd, bd);                
    102 }
    103 
    104 // 颜色各分量的线性插值
    105 #define YD_ARGB_LERP(color1, color2, colorDest, radio)  
    106 {                                                       
    107     Ycolor a1, r1, g1, b1;                              
    108     Ycolor a2, r2, g2, b2;                              
    109     Ycolor ad, rd, gd, bd;                              
    110     YD_GET_ARGB(color1, a1, r1, g1, b1);                
    111     YD_GET_ARGB(color2, a2, r2, g2, b2);                
    112     ad = (Ycolor)YD_LERP(a1, a2, radio);                
    113     rd = (Ycolor)YD_LERP(r1, r2, radio);                
    114     gd = (Ycolor)YD_LERP(g1, g2, radio);                
    115     bd = (Ycolor)YD_LERP(b1, b2, radio);                
    116     colorDest = YD_ARGB(ad, rd, gd, bd);                
    117 }
    118 
    119 #define YD_GET_RGB(color, r, g, b)                      
    120 {                                                       
    121     r = YD_GET_R(color);                                
    122     g = YD_GET_G(color);                                
    123     b = YD_GET_B(color);                                
    124 }
    125 
    126 #define YD_RGB_AVERAGE(color1, color2, colorDest)       
    127 {                                                       
    128     Ycolor r1, g1, b1;                                  
    129     Ycolor r2, g2, b2;                                  
    130     Ycolor rd, gd, bd;                                  
    131     YD_GET_RGB(color1, r1, g1, b1);                     
    132     YD_GET_RGB(color2, r2, g2, b2);                     
    133     rd = (r1 + r2) / 2;                                 
    134     gd = (g1 + g2) / 2;                                 
    135     bd = (b1 + b2) / 2;                                 
    136     colorDest = YD_RGB(rd, gd, bd);                     
    137 }
    138 
    139 // 颜色各分量的线性插值
    140 #define YD_RGB_LERP(color1, color2, colorDest, radio)   
    141 {                                                       
    142     Yuint32 r1, g1, b1;                                 
    143     Yuint32 r2, g2, b2;                                 
    144     Yuint32 rd, gd, bd;                                 
    145     YD_GET_RGB(color1, r1, g1, b1);                     
    146     YD_GET_RGB(color2, r2, g2, b2);                     
    147     rd = (Yuint32)YD_LERP(r1, r2, radio);               
    148     gd = (Yuint32)YD_LERP(g1, g2, radio);               
    149     bd = (Yuint32)YD_LERP(b1, b2, radio);               
    150     colorDest = YD_RGB(ad, rd, gd, bd);                 
    151 }
    152 
    153 // 颜色缩放
    154 #define YD_COLOR_SCALE(colorDest, color, scale)         
    155 {                                                       
    156     Yuint32 a, r, g, b;                                 
    157     Yuint32 ad, rd, gd, bd;                             
    158     YD_GET_ARGB(color, a, r, g, b);                     
    159     rd = (Yuint32)(r*scale);                            
    160     gd = (Yuint32)(g*scale);                            
    161     bd = (Yuint32)(b*scale);                            
    162     ad = (Yuint32)(a*scale);                            
    163     colorDest = YD_ARGB(ad, rd, gd, bd);                
    164 }
    165 
    166 #define YD_COLOR_RGB_SCALE(colorDest, color, scale)     
    167 {                                                       
    168     Yuint32 a, r, g, b;                                 
    169     Yuint32 rd, gd, bd;                                 
    170     YD_GET_ARGB(color, a, r, g, b);                     
    171     rd = (Yuint32)(r*scale);                            
    172     gd = (Yuint32)(g*scale);                            
    173     bd = (Yuint32)(b*scale);                            
    174     colorDest = YD_ARGB(a, rd, gd, bd);                 
    175 }
    176 
    177 #define YD_COLOR_ALPHA_SCALE(colorDest, color, scale)   
    178 {                                                       
    179     Yuint32 a, r, g, b;                                 
    180     Yuint32 ad;                                         
    181     YD_GET_ARGB(color, a, r, g, b);                     
    182     ad = (Yuint32)(a*scale);                            
    183     colorDest = YD_ARGB(ad, r, g, b);                   
    184 }
    185 
    186 // 颜色置反
    187 #define YD_COLOR_INVERSE(colorDest, color)              
    188 {                                                       
    189     Yuint32 a, r, g, b;                                 
    190     Yuint32 ad, rd, gd, bd;                             
    191     YD_GET_ARGB(color, a, r, g, b);                     
    192     rd = 255 - r;                                       
    193     gd = 255 - g;                                       
    194     bd = 255 - b;                                       
    195     ad = 255 - a;                                       
    196     colorDest = YD_ARGB(ad, rd, gd, bd);                
    197 }
    198 
    199 #define YD_COLOR_RGB_INVERSE(colorDest, color)          
    200 {                                                       
    201     Yuint32 a, r, g, b;                                 
    202     Yuint32 rd, gd, bd;                                 
    203     YD_GET_ARGB(color, a, r, g, b);                     
    204     rd = 255 - r;                                       
    205     gd = 255 - g;                                       
    206     bd = 255 - b;                                       
    207     colorDest = YD_ARGB(a, rd, gd, bd);                 
    208 }
    209 
    210 #define YD_COLOR_ALPHA_INVERSE(colorDest, color)        
    211 {                                                       
    212     Yuint32 a, r, g, b;                                 
    213     Yuint32 ad;                                         
    214     YD_GET_ARGB(color, a, r, g, b);                     
    215     ad = 255 - a;                                       
    216     colorDest = YD_ARGB(ad, r, g, b);                   
    217 }
    218 
    219 // --------------------------------------------------------------------------------------
    220 
    221 /*****R5G6B5*****/
    222 
    223 #define YD_R5G6B5(r,g,b)                                
    224 ( (YWord) ( ( (Ybyte(b) >> 3L) ) |                      
    225             ( (YWord(Ybyte(g)) >> 2L) << 5L ) |         
    226             ( (YWord(Ybyte(r)) >> 3L) << 11L )          
    227 )
    228 
    229 #define YD_GET_565_R(color)     ( ((color) & 0x0000f800) >> 8L )
    230 #define YD_GET_565_G(color)     ( ((color) & 0x000007E0) >> 3L )
    231 #define YD_GET_565_B(color)     ( ((color) & 0x0000001f) << 3L )
    232 
    233 #define YD_GET_565_RGB(color, r, g, b)                  
    234 {                                                       
    235     r = YD_GET_565_R(color);                            
    236     g = YD_GET_565_G(color);                            
    237     b = YD_GET_565_B(color);                            
    238 }
    239 
    240 // --------------------------------------------------------------------------------------
    241 
    242 /*****A1R5G5B5*****/
    243 
    244 #define YD_R5G5B5(r,g,b)                                
    245 ( (YWord) ( ( (Ybyte(b) >> 3L) ) |                      
    246             ( (YWord(Ybyte(g)) >> 3L) << 5L ) |         
    247             ( (YWord(Ybyte(r)) >> 3L) << 10L )          
    248 )
    249 
    250 #define YD_A1R5G5B5(a,r,g,b)                            
    251 ( (YWord) ( ( (Ybyte(b) >> 3L) ) |                      
    252             ( (YWord(Ybyte(g)) >> 3L) << 5L ) |         
    253             ( (YWord(Ybyte(r)) >> 3L) << 10L ) |        
    254             ( (YWord((a) & 1L) << 15L) )                
    255 )
    256 
    257 #define YD_GET_1555_A(color)    ( ((color) & 0x00008000) ? 255 : 0 )
    258 #define YD_GET_1555_R(color)    ( ((color) & 0x00007B00) >> 7L )
    259 #define YD_GET_1555_G(color)    ( ((color) & 0x000003E0) >> 2L )
    260 #define YD_GET_1555_B(color)    ( ((color) & 0x0000001f) << 3L )
    261 
    262 #define YD_GET_1555_RGB(color, a, r, g, b)              
    263 {                                                       
    264     a = YD_GET_1555_A(color);                           
    265     r = YD_GET_1555_R(color);                           
    266     g = YD_GET_1555_G(color);                           
    267     b = YD_GET_1555_B(color);                           
    268 }
    269 
    270 // --------------------------------------------------------------------------------------
    271 
    272 /*****A4R4G4B4*****/
    273 
    274 #define YD_R4G4B4(r,g,b)                                
    275 ( (YWord) ( ( (Ybyte(b) >> 4L) ) |                      
    276             ( (YWord(Ybyte(g)) >> 4L) << 4L ) |         
    277             ( (YWord(Ybyte(r)) >> 4L) << 8L ) )         
    278 )
    279 
    280 #define YD_A4R4G4B4(a,r,g,b)                            
    281 ( (YWord) ( ( (Ybyte(b) >> 4L) ) |                      
    282             ( (YWord(Ybyte(g)) >> 4L) << 4L ) |         
    283             ( (YWord(Ybyte(r)) >> 4L) << 8L ) |         
    284             ( (YWord(Ybyte(a)) >> 4L) << 12L ) )        
    285 )
    286 
    287 #define YD_GET_4444_A(color)    ( ((color) & 0x0000f000) >> 8L )
    288 #define YD_GET_4444_R(color)    ( ((color) & 0x00000f00) >> 4L )
    289 #define YD_GET_4444_G(color)    ( ((color) & 0x000000f0) )
    290 #define YD_GET_4444_B(color)    ( ((color) & 0x0000000f) << 4L )
    291 
    292 #define YD_GET_4444_RGB(color, a, r, g, b)              
    293 {                                                       
    294     a = YD_GET_4444_A(color);                           
    295     r = YD_GET_4444_R(color);                           
    296     g = YD_GET_4444_G(color);                           
    297     b = YD_GET_4444_B(color);                           
    298 }
    299 
    300 // --------------------------------------------------------------------------------------
    301 
    302 union YColorARGB
    303 {
    304     struct
    305     {
    306         Ybyte   b;
    307         Ybyte   g;
    308         Ybyte   r;        
    309         Ybyte   a;        
    310     };
    311 
    312     Ycolor      dwColor;
    313 };
    314 
    315 struct YColorRGB
    316 {
    317     Ybyte       b;
    318     Ybyte       g;
    319     Ybyte       r;        
    320 };
    321 
    322 struct YsFloatColor
    323 {
    324     Yreal       fAlpha;
    325     Yreal       fRed;
    326     Yreal       fGreen;
    327     Yreal       fBlue;
    328 };
    329 
    330 #define YD_R5G6B5_TO_R8G8B8(src565, dest888)            
    331 {                                                       
    332     Ycolor r, g, b;                                     
    333     YD_GET_565_RGB(src565, r, g, b);                    
    334     dest888 = YD_RGB(r, g, b);                          
    335 }
    336 
    337 #define YD_R8G8B8_TO_R5G6B5(src888, dest565)            
    338 {                                                       
    339     Ycolor r, g, b;                                     
    340     YD_GET_RGB(src888, r, g, b);                        
    341     dest565 = YD_R5G6B5(r, g, b);                       
    342 }
    343 
    344 #define YD_A1R5G5B5_TO_A8R8G8B8(src1555, dest8888)      
    345 {                                                       
    346     Ycolor a, r, g, b;                                  
    347     YD_GET_1555_RGB(src1555, a, r, g, b);               
    348     dest8888 = YD_ARGB(a, r, g, b);                     
    349 }
    350 
    351 #define YD_A8R8G8B8_TO_A1R5G5B5(src8888, dest1555)      
    352 {                                                       
    353     Ycolor a, r, g, b;                                  
    354     YD_GET_ARGB(src8888, a, r, g, b);                   
    355     dest1555 = YD_A1R5G5B5(a, r, g, b);                 
    356 }
    357 
    358 #define YD_A4R4G4B4_TO_A8R8G8B8(src4444, dest8888)      
    359 {                                                       
    360     Ycolor a, r, g, b;                                  
    361     YD_GET_4444_RGB(src4444, a, r, g, b);               
    362     dest8888 = YD_ARGB(a, r, g, b);                     
    363 }
    364 
    365 #define YD_A8R8G8B8_TO_A4R4G4B4(src8888, dest4444)      
    366 {                                                       
    367     Ycolor a, r, g, b;                                  
    368     YD_GET_ARGB(src8888, a, r, g, b);                   
    369     dest4444 = YD_A4R4G4B4(a, r, g, b);                 
    370 }
    371 
    372 #define YD_R8G8B8_TO_A8R8G8B8(src888, dest8888)             
    373 {                                                           
    374     dest8888 = YD_ARGB(255, src888.r, src888.g, src888.b);  
    375 }
    376 
    377 #define YD_A8R8G8B8_TO_R8G8B8(src8888, dest888)             
    378 {                                                           
    379     YD_GET_RGB(src8888, dest888.r, dest888.g, dest888.b);   
    380 }
    381 
    382 #define YD_FLOATCOLOR_TO_A8R8G8B8(srcFloatColor, dest8888)  
    383 {                                                           
    384     Ybyte a = YD_REAL_TO_BYTE(srcFloatColor.fAlpha);        
    385     Ybyte r = YD_REAL_TO_BYTE(srcFloatColor.fRed);          
    386     Ybyte g = YD_REAL_TO_BYTE(srcFloatColor.fGreen);        
    387     Ybyte b = YD_REAL_TO_BYTE(srcFloatColor.fBlue);         
    388     dest8888 = YD_ARGB(a, r, g, b);                         
    389 }
    390 
    391 #define YD_A8R8G8B8_TO_FLOATCOLOR(src8888, destFloatColor)  
    392 {                                                           
    393     Ycolor a, r, g, b;                                      
    394     YD_GET_ARGB(src8888, a, r, g, b);                       
    395     srcFloatColor.fAlpha = YD_BYTE_TO_REAL(a);              
    396     srcFloatColor.fRed   = YD_BYTE_TO_REAL(r);              
    397     srcFloatColor.fGreen = YD_BYTE_TO_REAL(g);              
    398     srcFloatColor.fBlue  = YD_BYTE_TO_REAL(b);              
    399 }
    400 
    401 // --------------------------------------------------------------------------------------
    402 
    403 #define YD_COLOR_LIGHT_PINK             YD_RGB(255, 182, 193)        // 浅粉红
    404 #define YD_COLOR_PINK                   YD_RGB(255, 192, 203)        // 粉红
    405 #define YD_COLOR_CRIMSON_RED            YD_RGB(220,  20,  60)        // 猩红 (深红)
    406 #define YD_COLOR_LAVENDER_BLUSH         YD_RGB(255, 240, 245)        // 淡紫红
    407 #define YD_COLOR_PALE_VIOLET_RED        YD_RGB(219, 112, 147)        // 弱紫罗兰红
    408 #define YD_COLOR_HOT_PINK               YD_RGB(255, 105, 180)        // 热情的粉红
    409 #define YD_COLOR_DEEP_PINK              YD_RGB(255,  20, 147)        // 深粉红
    410 #define YD_COLOR_MEDIUM_VIOLET_RED      YD_RGB(199,  21, 133)        // 中紫罗兰红
    411 #define YD_COLOR_ORCHID                 YD_RGB(218, 112, 214)        // 兰花紫
    412 #define YD_COLOR_THISTLE                YD_RGB(216, 191, 216)        //
    413 #define YD_COLOR_PLUM                   YD_RGB(221, 160, 221)        // 李子紫
    414 #define YD_COLOR_VIOLET                 YD_RGB(238, 130, 238)        // 紫罗兰
    415 #define YD_COLOR_MAGENTA                YD_RGB(255,   0, 255)        // 洋红 (品红 玫瑰红)
    416 #define YD_COLOR_FUCHSIA                YD_RGB(255,   0, 255)        // 灯笼海棠(紫红色)
    417 #define YD_COLOR_DARK_MAGENTA           YD_RGB(139,   0, 139)        // 深洋红
    418 #define YD_COLOR_PURPLE                 YD_RGB(128,   0, 128)        // 紫色
    419 #define YD_COLOR_MEDIUM_ORCHID          YD_RGB(186,  85, 211)        // 中兰花紫
    420 #define YD_COLOR_DARK_VIOLET            YD_RGB(148,   0, 211)        // 暗紫罗兰
    421 #define YD_COLOR_DARK_ORCHID            YD_RGB(153,  50, 204)        // 暗兰花紫
    422 #define YD_COLOR_INDIGO                 YD_RGB( 75,   0, 130)        // 靛青 (紫兰色)
    423 #define YD_COLOR_BLUE_VIOLET            YD_RGB(138,  43, 226)        // 蓝紫罗兰
    424 #define YD_COLOR_MEDIUM_PURPLE          YD_RGB(147, 112, 219)        // 中紫色
    425 #define YD_COLOR_MEDIUM_SLATE_BLUE      YD_RGB(123, 104, 238)        // 中板岩蓝
    426 #define YD_COLOR_SLATE_BLUE             YD_RGB(106,  90, 205)        // 板岩蓝
    427 #define YD_COLOR_DARK_SLATE_BLUE        YD_RGB( 72,  61, 139)        // 暗板岩蓝
    428 #define YD_COLOR_LAVENDER               YD_RGB(230, 230, 250)        // 熏衣草淡紫
    429 #define YD_COLOR_GHOST_WHITE            YD_RGB(248, 248, 255)        // 幽灵白
    430 #define YD_COLOR_BLUE                   YD_RGB(  0,   0, 255)        // 纯蓝
    431 #define YD_COLOR_MEDIUM_BLUE            YD_RGB(  0,   0, 205)        // 中蓝色
    432 #define YD_COLOR_MIDNIGHT_BLUE          YD_RGB( 25,  25, 112)        // 午夜蓝
    433 #define YD_COLOR_DARK_BLUE              YD_RGB(  0,   0, 139)        // 暗蓝色
    434 #define YD_COLOR_NAVY_BLUE              YD_RGB(  0,   0, 128)        // 海军蓝
    435 #define YD_COLOR_ROYAL_BLUE             YD_RGB( 65, 105, 225)        // 皇家蓝 (宝蓝)
    436 #define YD_COLOR_CORN_FLOWER_BLUE       YD_RGB(100, 149, 237)        // 矢车菊蓝
    437 #define YD_COLOR_LIGHT_STEEL_BLUE       YD_RGB(176, 196, 222)        // 亮钢蓝
    438 #define YD_COLOR_LIGHT_SLATE_GRAY       YD_RGB(119, 136, 153)        // 亮石板灰
    439 #define YD_COLOR_SLATE_GRAY             YD_RGB(112, 128, 144)        // 石板灰
    440 #define YD_COLOR_DODGER_BLUE            YD_RGB( 30, 144, 255)        // 道奇蓝
    441 #define YD_COLOR_ALICE_BLUE             YD_RGB(240, 248, 255)        // 爱丽丝蓝
    442 #define YD_COLOR_STEEL_BLUE             YD_RGB( 70, 130, 180)        // 钢蓝 (铁青)
    443 #define YD_COLOR_LIGHT_SKY_BLUE         YD_RGB(135, 206, 250)        // 亮天蓝色
    444 #define YD_COLOR_SKY_BLUE               YD_RGB(135, 206, 235)        // 天蓝色
    445 #define YD_COLOR_DEEP_SKY_BLUE          YD_RGB(  0, 191, 255)        // 深天蓝
    446 #define YD_COLOR_LIGHT_BLUE             YD_RGB(173, 216, 230)        // 亮蓝
    447 #define YD_COLOR_POWDER_BLUE            YD_RGB(176, 224, 230)        // 火药青
    448 #define YD_COLOR_CADET_BLUE             YD_RGB( 95, 158, 160)        // 军服蓝
    449 #define YD_COLOR_AZURE                  YD_RGB(240, 255, 255)        // 蔚蓝色
    450 #define YD_COLOR_LIGHT_CYAN             YD_RGB(224, 255, 255)        // 淡青色
    451 #define YD_COLOR_PALE_TURQUOISE         YD_RGB(175, 238, 238)        // 弱绿宝石
    452 #define YD_COLOR_CYAN                   YD_RGB(  0, 255, 255)        // 青色
    453 #define YD_COLOR_AQUA                   YD_RGB(  0, 255, 255)        // 水色
    454 #define YD_COLOR_DARK_TURQUOISE         YD_RGB(  0, 206, 209)        // 暗绿宝石
    455 #define YD_COLOR_DARK_SLATE_GRAY        YD_RGB( 47,  79,  79)        // 暗石板灰
    456 #define YD_COLOR_DARK_CYAN              YD_RGB(  0, 139, 139)        // 暗青色
    457 #define YD_COLOR_TEAL                   YD_RGB(  0, 128, 128)        // 水鸭色
    458 #define YD_COLOR_MEDIUM_TURQUOISE       YD_RGB( 72, 209, 204)        // 中绿宝石
    459 #define YD_COLOR_LIGHT_SEA_GREEN        YD_RGB( 32, 178, 170)        // 浅海洋绿
    460 #define YD_COLOR_TURQUOISE              YD_RGB( 64, 224, 208)        // 绿宝石
    461 #define YD_COLOR_AQUAMARINE             YD_RGB(127, 255, 212)        // 宝石碧绿
    462 #define YD_COLOR_MEDIUM_AQUAMARINE      YD_RGB(102, 205, 170)        // 中宝石碧绿
    463 #define YD_COLOR_MEDIUM_SPRINGGREEN     YD_RGB(  0, 250, 154)        // 中春绿色
    464 #define YD_COLOR_MINT_CREAM             YD_RGB(245, 255, 250)        // 薄荷奶油
    465 #define YD_COLOR_SPRING_GREEN           YD_RGB(  0, 255, 127)        // 春绿色
    466 #define YD_COLOR_MEDIUM_SEA_GREEN       YD_RGB( 60, 179, 113)        // 中海洋绿
    467 #define YD_COLOR_SEA_GREEN              YD_RGB( 46, 139,  87)        // 海洋绿
    468 #define YD_COLOR_HONEYDEW               YD_RGB(240, 255, 240)        // 蜜瓜色
    469 #define YD_COLOR_LIGHT_GREEN            YD_RGB(144, 238, 144)        // 淡绿色
    470 #define YD_COLOR_PALE_GREEN             YD_RGB(152, 251, 152)        // 弱绿色
    471 #define YD_COLOR_DARK_SEA_GREEN         YD_RGB(143, 188, 143)        // 暗海洋绿
    472 #define YD_COLOR_LIME_GREEN             YD_RGB( 50, 205,  50)        // 闪光深绿
    473 #define YD_COLOR_LIME                   YD_RGB(  0, 255,   0)        // 闪光绿
    474 #define YD_COLOR_FOREST_GREEN           YD_RGB( 34, 139,  34)        // 森林绿
    475 #define YD_COLOR_GREEN                  YD_RGB(  0, 128,   0)        // 纯绿
    476 #define YD_COLOR_DARK_GREEN             YD_RGB(  0, 100,   0)        // 暗绿色
    477 #define YD_COLOR_CHARTREUSE             YD_RGB(127, 255,   0)        // 查特酒绿 (黄绿色)
    478 #define YD_COLOR_LAWN_GREEN             YD_RGB(124, 252,   0)        // 草坪绿
    479 #define YD_COLOR_GREEN_YELLOW           YD_RGB(173, 255,  47)        // 绿黄色
    480 #define YD_COLOR_DARK_OLIVE_GREEN       YD_RGB( 85, 107,  47)        // 暗橄榄绿
    481 #define YD_COLOR_YELLOW_GREEN           YD_RGB(154, 205,  50)        // 黄绿色
    482 #define YD_COLOR_OLIVE_DRAB             YD_RGB(107, 142,  35)        // 橄榄褐色
    483 #define YD_COLOR_BEIGE                  YD_RGB(245, 245, 220)        // 米色(灰棕色)
    484 #define YD_COLOR_LIGHT_GOLDENROD_YELLOW YD_RGB(250, 250, 210)        // 亮菊黄
    485 #define YD_COLOR_IVORY                  YD_RGB(255, 255, 240)        // 象牙
    486 #define YD_COLOR_LIGHT_YELLOW           YD_RGB(255, 255, 224)        // 浅黄色
    487 #define YD_COLOR_YELLOW                 YD_RGB(255, 255,   0)        // 纯黄
    488 #define YD_COLOR_OLIVE                  YD_RGB(128, 128,   0)        // 橄榄
    489 #define YD_COLOR_DARK_KHAKI             YD_RGB(189, 183, 107)        // 深卡叽布
    490 #define YD_COLOR_LEMON_CHIFFON          YD_RGB(255, 250, 205)        // 柠檬绸
    491 #define YD_COLOR_PALE_GOLDENROD         YD_RGB(238, 232, 170)        // 灰菊黄
    492 #define YD_COLOR_KHAKI                  YD_RGB(240, 230, 140)        // 卡叽布
    493 #define YD_COLOR_GOLD                   YD_RGB(255, 215,   0)        // 金色
    494 #define YD_COLOR_CORNSILK               YD_RGB(255, 248, 220)        // 玉米丝色 
    495 #define YD_COLOR_GOLDENROD              YD_RGB(218, 165,  32)        // 金菊黄 
    496 #define YD_COLOR_DARK_GOLDENROD         YD_RGB(184, 134,  11)        // 暗金菊黄 
    497 #define YD_COLOR_FLORAL_WHITE           YD_RGB(255, 250, 240)        // 花的白色 
    498 #define YD_COLOR_OLD_LACE               YD_RGB(253, 245, 230)        // 旧蕾丝 
    499 #define YD_COLOR_WHEAT                  YD_RGB(245, 222, 179)        // 小麦色 
    500 #define YD_COLOR_MOCCASIN               YD_RGB(255, 228, 181)        // 鹿皮靴 
    501 #define YD_COLOR_ORANGE                 YD_RGB(255, 165,   0)        // 橙色 
    502 #define YD_COLOR_PAPAYA_WHIP            YD_RGB(255, 239, 213)        // 番木瓜 
    503 #define YD_COLOR_BLANCHED_ALMOND        YD_RGB(255, 235, 205)        // 发白的杏仁色 
    504 #define YD_COLOR_NAVAJO_WHITE           YD_RGB(255, 222, 173)        // 土著白 
    505 #define YD_COLOR_ANTIQUE_WHITE          YD_RGB(250, 235, 215)        // 古董白 
    506 #define YD_COLOR_TAN                    YD_RGB(210, 180, 140)        // 茶色 
    507 #define YD_COLOR_BURLY_WOOD             YD_RGB(222, 184, 135)        // 硬木色 
    508 #define YD_COLOR_BISQUE                 YD_RGB(255, 228, 196)        // 陶坯黄 
    509 #define YD_COLOR_DARK_ORANGE            YD_RGB(255, 140,   0)        // 深橙色 
    510 #define YD_COLOR_LINEN                  YD_RGB(250, 240, 230)        // 亚麻布 
    511 #define YD_COLOR_PERU                   YD_RGB(205, 133,  63)        // 秘鲁 
    512 #define YD_COLOR_PEACH_PUFF             YD_RGB(255, 218, 185)        // 桃肉色 
    513 #define YD_COLOR_SANDY_BROWN            YD_RGB(244, 164,  96)        // 沙棕色 
    514 #define YD_COLOR_CHOCOLATE              YD_RGB(210, 105,  30)        // 巧克力 
    515 #define YD_COLOR_SADDLE_BROWN           YD_RGB(139,  69,  19)        // 马鞍棕色 
    516 #define YD_COLOR_SEASHELL               YD_RGB(255, 245, 238)        // 海贝壳 
    517 #define YD_COLOR_SIENNA                 YD_RGB(160,  82,  45)        // 黄土赭色 
    518 #define YD_COLOR_LIGHT_SALMON           YD_RGB(255, 160, 122)        // 浅鲑鱼肉色 
    519 #define YD_COLOR_CORAL                  YD_RGB(255, 127,  80)        // 珊瑚 
    520 #define YD_COLOR_ORANGE_RED             YD_RGB(255,  69,   0)        // 橙红色 
    521 #define YD_COLOR_DARK_SALMON            YD_RGB(233, 150, 122)        // 深鲜肉(鲑鱼)色 
    522 #define YD_COLOR_TOMATO                 YD_RGB(255,  99,  71)        // 番茄红 
    523 #define YD_COLOR_MISTY_ROSE             YD_RGB(255, 228, 225)        // 薄雾玫瑰 
    524 #define YD_COLOR_SALMON                 YD_RGB(250, 128, 114)        // 鲜肉(鲑鱼)色 
    525 #define YD_COLOR_SNOW                   YD_RGB(255, 250, 250)        //
    526 #define YD_COLOR_LIGHT_CORAL            YD_RGB(240, 128, 128)        // 淡珊瑚色 
    527 #define YD_COLOR_ROSY_BROWN             YD_RGB(188, 143, 143)        // 玫瑰棕色 
    528 #define YD_COLOR_INDIAN_RED             YD_RGB(205,  92,  92)        // 印度红 
    529 #define YD_COLOR_RED                    YD_RGB(255,   0,   0)        // 纯红 
    530 #define YD_COLOR_BROWN                  YD_RGB(165,  42,  42)        // 棕色 
    531 #define YD_COLOR_FIRE_BRICK             YD_RGB(178,  34,  34)        // 耐火砖 
    532 #define YD_COLOR_DARK_RED               YD_RGB(139,   0,   0)        // 深红色 
    533 #define YD_COLOR_MAROON                 YD_RGB(128,   0,   0)        // 栗色 
    534 #define YD_COLOR_WHITE                  YD_RGB(255, 255, 255)        // 纯白 
    535 #define YD_COLOR_WHITE_SMOKE            YD_RGB(245, 245, 245)        // 白烟 
    536 #define YD_COLOR_GAINSBORO              YD_RGB(220, 220, 220)        // 庚斯博罗灰色 
    537 #define YD_COLOR_LIGHT_GREY             YD_RGB(211, 211, 211)        // 浅灰色 
    538 #define YD_COLOR_SILVER                 YD_RGB(192, 192, 192)        // 银灰色 
    539 #define YD_COLOR_DARK_GRAY              YD_RGB(169, 169, 169)        // 深灰色 
    540 #define YD_COLOR_GRAY                   YD_RGB(186, 183, 186)        // 灰色(*) 
    541 #define YD_COLOR_DIM_GRAY               YD_RGB(105, 105, 105)        // 暗淡的灰色 
    542 #define YD_COLOR_BLACK                  YD_RGB(  0,   0,   0)        // 纯黑 
    543 
    544 // --------------------------------------------------------------------------------------
    545 
    546 #endif
  • 相关阅读:
    pytorch-VGG网络
    pytorch-Alexnet 网络
    pytorch-LeNet网络
    硬链接与软链接有什么不同(ln)
    联想《拯救者》U盘UEFI启动装win7[完美激活](4)
    笔记本键盘、触控板锁定技巧(3)
    BridgePattern(23种设计模式之一)
    AdapterPattern(23种设计模式之一)
    Arduino Wire.h(IIC)库函数详解
    进制表示法
  • 原文地址:https://www.cnblogs.com/WhyEngine/p/3454229.html
Copyright © 2011-2022 走看看