资源描述:
《第8章emwin(ucgui)2d图形库之基本绘图教程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、STM32-V5开发板STemWin教程第8章2-D图形库之基本绘图本期主要讲解2-D图形库的基本绘图方法。这些图形库是基于快速高效的算法。当前,只有GUI_DrawArc()函数需要浮点计算,这些函数用PC端的emWin模拟器练习就行,不需要在开发板上面做,太麻烦。基本绘制例程可以在显示器中的任意位置绘制单个点、水平线和垂直线以及图形。所有可用的绘制模式均能使用。由于大多数应用程序会频繁调用这些例程,因此对它们的速度尽可能进行了优化。例如,水平线和垂直线函数不需要使用单点例程。8.1画笔大小8.2基本绘制8.3Alpha混合8.5实验总结8.1画笔大小GUI_GetPenSize()返
2、回当前的画笔大小(像素)。GUI_SetPenSize()设置画笔大小(像素)。画笔大小决定以下矢量绘制操作的厚度:GUI_DrawPoint()GUI_DrawLine()GUI_DrawLineRel()GUI_DrawLineTo()GUI_DrawPolyLine()GUI_DrawPolygon()GUI_DrawEllipse()GUI_DrawArc()这里要切记画笔大小只支持上面的几个2D绘图函数,有些是不支持的,下面以GUI_DrawLine()举一个例子,这个例子直接复制到STemWin模拟器下面就可以跑的,主要是画三条不同粗细的直线。#include
3、"GUI.h"voidMainTask(void){GUI_Init();GUI_SetBkColor(GUI_BLACK);/*设置背景颜色*/GUI_Clear();/*这里只要清屏了,上面设置背景颜色才能起到作用*/GUI_CURSOR_Show();/*显示游标*/GUI_SetColor(GUI_RED);/*设置画笔颜色*/GUI_SetPenSize(1);/*设置画笔大小*/GUI_DrawLine(0,/*X起始位置*/第1页共7页STM32-V5开发板STemWin教程10,/*Y起始位置*/200,/*X结束位置*/10);/*Y结束位置*/GUI_SetPenSi
4、ze(4);GUI_DrawLine(0,100,200,100);GUI_SetPenSize(8);GUI_DrawLine(0,200,200,200);while(1){GUI_Delay(100);}}实际显示效果如下:8.2基本绘制STemWin支持的2D基本绘图函数有如下的几个,我这里就不跟大家一一举例了,举几个典型的函数用法:第2页共7页STM32-V5开发板STemWin教程下面这个例程主要用到以下几个函数GUI_DrawGradientRoundedH()绘制用水平颜色梯度填充的圆角矩形。GUI_DrawRectEx()在当前窗口中的指定位置绘制矩形。GUI_Draw
5、RoundedFrame()在当前窗口中的指定位置绘制指定宽度的圆角框。GUI_FillRoundedRect()在当前窗口中的指定位置绘制填充的圆角矩形。在模拟器上演示例子如下:#include"GUI.h"voidMainTask(void){GUI_RECTRect={120,/*UpperleftX-position.*/0,/*UpperleftY-position.*/219,/*LowerrightX-position.*/99};/*LowerrightY-position.*/GUI_Init();GUI_SetBkColor(GUI_BLACK);/*设置背景颜色*/
6、GUI_Clear();/*这里只要清屏了,上面设置背景颜色才能起到作用*/GUI_CURSOR_Show();/*显示游标*/GUI_SetColor(GUI_RED);GUI_DrawGradientRoundedH(0,0,99,99,25,0x0000FF,0x00FFFF);GUI_DrawRectEx(&Rect);GUI_DrawRoundedFrame(0,110,99,210,20,10);GUI_FillRoundedRect(120,110,219,210,20);while(1){GUI_Delay(100);}}实际显示效果如下:8.3Alpha混合Alpha混
7、合是个非常好的功能,有了这个绘制出来的界面才能更加的华丽,下面详细的介绍一下。Alpha混合是一种合并前景图像与背景来创建半透明效果的方法。Alpha值决定可见的像素数以及背景透露的像素数。颜色信息第3页共7页STM32-V5开发板STemWin教程STemWin内部适用于32位的颜色信息:0-7位:红色8-15位:绿色16-23位:蓝色24-31位:Alpha信息Alpha值为0表示不透明,值为255表示完全透明。工作原理