以下所有函数均已测试过。
链接: 移植步骤.
参考安富莱.
目录
- 一,文本显示
- 1.1 GUI_DispString() 显示字符串
- 1.2 GUI_DispStringAt() 指定位置显示字符串
- 1.3 GUI_DispStringAtCEOL() 指定位置显示字符串并清除其他
- 1.4 GUI_DispStringInRect() 指定矩形区域显示字符串
- 1.5 GUI_DispStringInRectWrap() 在指定的矩形区域中显示字符串,并可自动换行
- 二,数值显示
- 2.1 十进制
- 2.1.1 GUI_DispDec() 十进制显示
- 2.1.2 GUI_DispDecAt()十进制显示,多了个坐标
- 2.1.3 GUI_DispDecMin() 十进制显示,不用写长度
- 2.1.4 GUI_DispSDec()显示加减号
- 2.2 小数点(不是浮点数)GUI_DispDecShift()
- 2.3 十进制升级版,可加减号,可小数GUI_DispSDecShift()
- 2.3 二进制
- 2.3.1 GUI_DispBin() 二进制显示
- 2.3.2 GUI_DispBinAt()二进制显示,多了个坐标
- 2.4 十六进制
- 2.4.1 GUI_DispHex()十六进制显示
- 2.4.2 GUI_DispHexAt()十六进制显示,多了个坐标
- 2.5 浮点数
- 三,2-D图形库
- 3.1 画线
- 3.2 画矩形
- 3.3 Alpha混合
- 3.4 流位图
- 3.5 多边形
- 3.6 圆
- 3.7 椭圆
- 3.8 弧线
- 3.9 曲线(示波器那种)
- 3.10 饼图
- 其它
- 显示游标
一,文本显示 GUI_SetBkColor(GUI_BLUE); //BLUE 字体底色
GUI_Clear(); //清屏
GUI_SetFont(&GUI_Font8x16); //设置字体大小
1.1 GUI_DispString() 显示字符串 在当前位置显示字符串。有换行, \n
例:GUI_DispString(“weser \n weser”);
1.2 GUI_DispStringAt() 指定位置显示字符串 在指定位置显示字符串。
void GUI_DispStringAt(const char GUI_FAR * s, int x, int y);
文章图片
例:GUI_DispStringAt(“weser”,200,300);
1.3 GUI_DispStringAtCEOL() 指定位置显示字符串并清除其他 在指定位置显示字符串,并把此行字其他给清了。
void GUI_DispStringAtCEOL(const char GUI_FAR * s, int x, int y);
例:GUI_DispStringAtCEOL(“weser”,200,300);
1.4 GUI_DispStringInRect() 指定矩形区域显示字符串 指定的矩形区域内的指定位置处,使用当前字体显示作为参数的字符串。
void GUI_DispStringInRect(const char GUI_FAR * s,GUI_RECT * pRect,int Align);
文章图片
例:
GUI_RECT WESERpRect[]={100,100,200,200}; //矩形坐标
GUI_DispStringInRect(“weser”,WESERpRect,GUI_TA_LEFT);
1.5 GUI_DispStringInRectWrap() 在指定的矩形区域中显示字符串,并可自动换行 void GUI_DispStringInRectWrap(const char GUI_UNI_PTR * s,GUI_RECT * pRect,int TextAlign,GUI_WRAPMODE WrapMode);
文章图片
这种感觉。
文章图片
二,数值显示 2.1 十进制 2.1.1 GUI_DispDec() 十进制显示 GUI_GotoXY(0,0); //设置显示位置
GUI_DispDec(-123,4); //前面是数,后面是长度
GUI_DispDec(1234,7);//长了会补0 显示:0001234
GUI_DispDec(1234,2); //短了会错,不能短
最高位不能为0
2.1.2 GUI_DispDecAt()十进制显示,多了个坐标 多了个坐标
GUI_DispDecAt(123,200,20,5);
2.1.3 GUI_DispDecMin() 十进制显示,不用写长度 GUI_GotoXY(0,40);
GUI_DispDecMin(-33232);
最高位不能为0
2.1.4 GUI_DispSDec()显示加减号 GUI_GotoXY(0,100);
GUI_DispSDec(-1234,5); //打印:-1234
GUI_DispSDec(1234,5); //打印:+1234
2.2 小数点(不是浮点数)GUI_DispDecShift() 打印:-12.34(负号,小数点也算长度)
GUI_GotoXY(0,60);
GUI_DispDecShift(-1234,6,2); //最后一个参数是小数点位数
2.3 十进制升级版,可加减号,可小数GUI_DispSDecShift() GUI_DispSDecShift(02345,7,3); //打印:+01.23
GUI_DispSDecShift(345,6,2); //打印:+03.45
GUI_DispSDecShift(-1234,6,3); //打印:-1.234
2.3 二进制 2.3.1 GUI_DispBin() 二进制显示 GUI_GotoXY(0,140);
GUI_DispBin(0x08,8); //第二个参数是显示长度
最长32位
2.3.2 GUI_DispBinAt()二进制显示,多了个坐标 GUI_DispBinAt(0x55,0,160,8);
最长16位
2.4 十六进制 2.4.1 GUI_DispHex()十六进制显示 GUI_GotoXY(0,140);
GUI_DispHex(0x08,8); //第二个参数是显示长度
最长16位
2.4.2 GUI_DispHexAt()十六进制显示,多了个坐标 GUI_DispHexAt(0x55,0,160,8);
最长16位
2.5 浮点数 float f = 123.45678f;
GUI_GotoXY(0,100);
GUI_DispFloat (f,9); //打印:123.45678
GUI_GotoXY(0,200);
GUI_DispFloat (-f,9); //打印:-123.45678(负号不计长度)
三,2-D图形库 3.1 画线 GUI_SetPenSize(10); //设置线宽
GUI_SetColor(GUI_RED); //设置颜色
GUI_DrawLine(80, 10, 240, 90); //画线
3.2 画矩形 GUI_DrawGradientRoundedH() 绘制用水平颜色梯度填充的圆角矩形。
GUI_DrawRectEx() 在当前窗口中的指定位置绘制矩形。
GUI_DrawRoundedFrame() 在当前窗口中的指定位置绘制指定宽度的圆角框。
GUI_FillRoundedRect() 在当前窗口中的指定位置绘制填充的圆角矩形。
例:
UI_RECT Rect = { 120, /* Upper left X-position. /
0, / Upper left Y-position. /
219, / Lower right X-position. /
99}; / Lower right Y-position. */
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);
文章图片
3.3 Alpha混合 【STM32F429移植STemWin,STemWin函数应用】Alpha 混合是一种合并前景图像与背景来创建半透明效果的方法。Alpha 值决定可见的像素数以及背景透露的像素数。
Alpha 混合完全自动执行。唯一需要做的就是使用 GUI_EnableAlpha()启用 Alpha 混合。
这里不贴了,需要两个图层,我之前把图层2关了,又没写开关量,懒得改了。
3.4 流位图 没有内存卡,有空再搞吧
3.5 多边形 有点麻烦,看文档去吧。
文章图片
3.6 圆 void GUI_DrawCircle(int x0, int y0, int r); 空心圆
X,Y,半径
void GUI_FillCircle(int x0, int y0, int r); 实心圆
3.7 椭圆 void GUI_DrawEllipse(int x0, int y0, int rx, int ry); 空心圆
X,Y,X半径,Y半径
void GUI_FillEllipse(int x0, int y0, int rx, int ry); 实心圆
3.8 弧线 void GUI_DrawArc(int xCenter, int yCenter, int rx, int ry, int a0, int a1);
文章图片
3.9 曲线(示波器那种) void GUI_DrawGraph(I16 * paY, int NumPoints, int x0, int y0);
文章图片
3.10 饼图 void GUI_DrawPie(int x0, int y0, int r, int a0, int a1, int Type);
文章图片
其它 显示游标 GUI_CURSOR_Show();
推荐阅读
- stm32|基于STM32和freeRTOS智能门锁设计方案
- 日常分享|共享充电宝方案原理,具体部件组成以及主控MUC参数
- #|ARM裸机开发(汇编LED灯实验(I.MX6UL芯片))
- STM32|STM32的四种IO输出模式
- STM32 远程升级(ISP / IAP)
- stm32|stm32f103can总线过滤器配置
- STM32CubeMX配置SDIO模式(非DMA方式)
- STM32|如何建一个STM32F030标准库工程模板
- STM32 时钟RCC相关配置参考stm32f10x_rcc.h
- STM32 NVIC