[EMWIN]关于 GUI_GetPixelIndex 使用的问题
在模拟器上和st单片机上使用以下代码:
GUI_COLOR color0,color1;
color0 = GUI_GetPixelIndex(rect.x1+1, rect.y0);
color1 = GUI_GetPixelIndex(rect.x1+1, rect.y1);
 

左边模拟器,右边st单片机(keil)
发现读取出来的色值不一样,于是折腾下找到解决办法:
单片机上使用
 color0 = GUI_Index2Color(GUI_GetPixelIndex(rect.x1+1, rect.y0));
    color1 = GUI_Index2Color(GUI_GetPixelIndex(rect.x1+1, rect.y1));
代码如果要兼容单片机和模拟器 可以这么写:
#ifdef WIN32
    color0 = GUI_GetPixelIndex(rect.x1+1, rect.y0);
    color1 = GUI_GetPixelIndex(rect.x1+1, rect.y1);
#else
    color0 = GUI_Index2Color(GUI_GetPixelIndex(rect.x1+1, rect.y0));
    color1 = GUI_Index2Color(GUI_GetPixelIndex(rect.x1+1, rect.y1));
#endif
就能获取正确的像素颜色,具体原因没有细查,请知道的小伙伴回复下,让后边的小伙伴知道怎么回事,谢谢。
特此记录。
相关问题有 :
1. http://bbs.armfly.com/read.php?tid=6584
2. http://bbs.21ic.com/forum.php?mod=viewthread&tid=1570306
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号