硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3057|回复: 0
收起左侧

[emWin] 函数GUI_DrawPixel和GUI_DrawPoint的区别

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107034
QQ
发表于 2018-5-24 00:18:17 | 显示全部楼层 |阅读模式
根据UCGUI3.98的源码:

GUI_DrawPoint如下:
  1. /*********************************************************************
  2. *
  3. *       GL_DrawPoint
  4. */
  5. void GL_DrawPoint(int x, int y) {
  6.   if (GUI_Context.PenSize == 1) {
  7.     LCD_HL_DrawPixel(x, y);
  8.   } else {
  9.     GL_FillCircle(x, y, (GUI_Context.PenSize - 1) / 2);
  10.   }
  11. }

  12. /*********************************************************************
  13. *
  14. *       GUI_DrawPoint
  15. */
  16. void GUI_DrawPoint(int x, int y) {
  17.   GUI_LOCK();
  18.   #if (GUI_WINSUPPORT)
  19.     WM_ADDORG(x, y);
  20.     WM_ITERATE_START(NULL); {
  21.   #endif
  22.   GL_DrawPoint(x, y);
  23.   #if (GUI_WINSUPPORT)
  24.     } WM_ITERATE_END();
  25.   #endif
  26.   GUI_UNLOCK();
  27. }
复制代码


GUI_DrawPixel的源码如下:
  1. /*********************************************************************
  2. *
  3. *       GUI_DrawPixel
  4. */
  5. void GUI_DrawPixel(int x, int y) {
  6.   #if (GUI_WINSUPPORT)
  7.     GUI_RECT r;
  8.   #endif
  9.   GUI_LOCK();
  10.   #if (GUI_WINSUPPORT)
  11.     WM_ADDORG(x,y);
  12.     r.x0 = r.x1 = x;
  13.     r.y0 = r.y1 = y;
  14.     WM_ITERATE_START(&r); {
  15.   #endif
  16.   LCD_HL_DrawPixel(x,y);
  17.   #if (GUI_WINSUPPORT)
  18.     } WM_ITERATE_END();
  19.   #endif
  20.   GUI_UNLOCK();
  21. }
复制代码



对比源码,区别是GUI_DrawPoint支持画笔设置粗细
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-15 06:28 , Processed in 0.178770 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表