在模拟器上和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

[EMWIN]关于 GUI_GetPixelIndex 使用的问题的更多相关文章

  1. [emwin]关于渐变色使用须知

    由于需要用到渐变色,且出现问题,所以对渐变色有了解. 相关函数 GUI_DrawGradientV GUI_DrawGradientH 须知: 1.渐变色在565色和888色下的显示完全不一样.在模拟 ...

  2. 分页型Memory LCD显存管理与emWin移植

    上一篇随笔整理了一下逐行扫描型Memory LCD的显存管理与emWin移植,这篇就整理一下分页型Memory LCD显存管理与emWin移植. //此处以SSD1306作为实例 //OLED的显存/ ...

  3. 逐行扫描型Memory LCD显存管理与emWin移植

    因为Memory LCD 的特性,不能设置像素坐标,只能用缓存整体刷新. 所以对于Memory LCD来说,emWin移植仅与打点函数有关,这里用Sharp Memory LCD(ls013b7dh0 ...

  4. 【emWin】例程七:绘制基本图形

    简介:emWin 包含完整的2-D 图形库,可供大多数应用程序充分使用 本例程介绍如何使用图形API绘制基本的2-D图形 实验指导书及代码包下载: 链接:http://pan.baidu.com/s/ ...

  5. emWin(ucGui) Edit控件数值模式 ——符号编辑 worldsing

    emWin(ucGui) Edit控件数值模式出现负数值编辑时,如果键盘按键全可以设置独立的"-","+"键,这样可以正常编辑正数和负数,但是要没有设置这两个键 ...

  6. emWin(ucGUI)在PC机上模拟的按键响应多次解决办法 worldsing

    emWin(ucgui) 在PC端的模拟器,默认的按键机制是"按抬都Msg",当在按下键盘时,会收到一个key值-1,在按键没有离开时一直维持,当按键松开时还发送一个key值-0的 ...

  7. emWin(ucGui)数值显示例程 -【worldsing笔记】

    本例程下载:2.emWin5.26(ucGui)VS2008数字显示.zip   在emWin显示文本字符还是容易,我们也可以使用字符串和标准 C 库的函数来显示数值.然而,有时候这会是件困难的事.通 ...

  8. emWin显示文本字符-【worldsing笔记】

    在emWin显示文本字符还是容易的,提供了各种不同的接口,下面是有关于字符显示的常用的用法,可以直接复制到VS2008的模拟ucGui(emWin模拟工程)中运行: 工程代码下载:1.emWin5.2 ...

  9. emWin使用外部SRAM的方法

    我用的是stm32,加了1MB的外部SRAM,在使用emWin的时候,将一部分内存分配给emWin使用.其实方法很简单,传入SRAM数据总线地址即可,数据位宽我采用16bit,因为使用的SRAM是16 ...

随机推荐

  1. QQ空间动态内容,好友信息,点赞爬虫脚本

    一.安装基础的软件包: 1.准备好火狐浏览器,并下载geckodriver,将geckodriver加入到环境变量:下载geckodriver的地址:https://pan.baidu.com/s/1 ...

  2. Lambda加自定义比较器实现两个列表的合并

    一次项目有这样的需求,本地存储了json数据,可以转化为对应的List列表,现在需要更新,从服务器那里获取最新的数据更改.总的来说就是本地有个List表,如果数据需要更新,则会向服务器发送请求来获取需 ...

  3. poj2431 一直Wa

    在遍历加油站的时候,会将经过的x加油站放入优先队列,之后将x从数组中删掉,即用最后一个加油站来替代x:这时如果不 “i--”,则会漏掉检查原来的stop[n-1],则可能造成错误. if(stop[i ...

  4. Oracle数据库的数据导入导出

    --备份数据库--数据库系统用户账号system/adminuser --查看oracle数据库的用户select * from all_users;--查看oracle数据库的版本号select * ...

  5. iOS 或者Android调用vue.js 里面的方法

    1.原生调用vue.js 某个vue组件下的方法. 比如**.vue里面有个这样的方法: 如果这样的话,在iOS或者Android里面是调用不了这个ajax方法的. 需要在**.vue (我的版本是v ...

  6. BZOJ:(270,300]

    9/30 BZOJ3038:线段树,不带lazy标记,直接修改叶子. BZOJ3211:同3038 BZOJ1406:将式子转换成[(x-1)*(x+1)%n==0]然后枚举i.当i=x-1时,i*( ...

  7. Python基础笔记系列四:工具的安装与配置

    本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!! 一开始是没有打算写工具这篇的,后来发现在某些情况下会遇到一些奇怪的问题,这 ...

  8. Java对象序列化与反序列化

    对象序列化的目标是将对象保存在磁盘中或者在网络中进行传输.实现的机制是允许将对象转为与平台无关的二进制流. java中对象的序列化机制是将允许对象转为字节序列.这些字节序列可以使Java对象脱离程序存 ...

  9. mysql 转移数据目录

    由于MySql的数据库文件和日志文件比较大,导致磁盘空间不够,在添加新的磁盘之后,需要把MySql的数据转移到新挂载的目录下. 1.停止MySql服务: /etc/rc.d/init.d/mysql ...

  10. uva11827gcd

    gcd裸题,不过输入要注意gets会tle,要用快速读入 #include<map> #include<set> #include<cmath> #include& ...