完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
如题,我现在使用Emwin的GUIBuilder,做了一个界面,但是做好之后使用GUI_DrawVLine(40,20,500);函数,想在上面画条线,但是现在线画不出来,画曲线也应该是画不出来的,那么如果我要在GUIBuilder这个基础上画点描线,那么应该注意什么呢?请大神指点!
画图程序整体顺序如下: while(GUI_Init() != 0);//GUI初始化 CreateWindow();//描绘使用GUIBuilder产生的图形 GUI_Exec();//执行 GUI_SetColor(GUI_GREEN);//设置画笔颜色为绿色 GUI_DrawVLine(40,20,500);//画竖线 |
|
相关推荐
2个回答
|
|
使用回调函数的WM_PAINT即可实现
|
|
|
|
要在EmWin的GUIBuilder界面上画点描线,您需要遵循以下步骤:
1. 创建一个自定义的GUI窗口或控件,用于绘制点和线。这可以通过继承现有的GUI控件(如GUI_MultiPage)并覆盖其绘制函数来实现。 2. 在自定义控件的绘制函数中,使用GUI的绘图函数(如GUI_ClearRect、GUI_DrawVLine、GUI_DrawHLine等)来绘制所需的图形。您可以使用这些函数来画点、线、矩形等。 3. 在您的应用程序中,创建一个实例化的自定义控件,并将其添加到GUIBuilder生成的界面中。这样,您的自定义控件将作为界面的一部分显示。 4. 在自定义控件的构造函数或初始化函数中,设置绘图参数,如颜色、线宽等。 5. 在自定义控件的绘制函数中,使用GUI的绘图函数来绘制点和线。您可以使用循环和数学函数(如正弦、余弦等)来生成曲线。 6. 在您的应用程序的主循环中,调用GUI_Exec()函数来处理用户输入和绘制界面。 以下是一个简单的示例,展示了如何在EmWin中创建一个自定义控件并绘制一条线: ```c #include "GUI.h" typedef struct { GUI_WIDGET widget; int x, y, len; } MY_WIDGET; static void _Draw(MY_WIDGET * pWidget, GUI_CALLBACK_VOID_PTR DrawCallback, void * p) { GUI_SetBkColor(GUI_WHITE); GUI_ClearRect(0, 0, pWidget->x, pWidget->y); GUI_SetPenSize(1); GUI_SetColor(GUI_RED); GUI_DrawVLine(pWidget->x, pWidget->y, pWidget->len); } static void _Create(MY_WIDGET * pWidget, WM_HWIN hWin, int x0, int y0, int xSize, int ySize, int Id, int Flags) { pWidget->widget.Create(hWin, x0, y0, xSize, ySize, Id, Flags); pWidget->x = xSize; pWidget->y = ySize; pWidget->len = 500; } void CreateMyWidget(void) { MY_WIDGET * pWidget; pWidget = (MY_WIDGET *)GUI_ALLOC_AllocZero(sizeof(MY_WIDGET)); _Create(pWidget, GUI_Window_CreateEx(0, WM_CF_SHOW, 0, 0, 100, 100, 0)); GUI_WIDGET_SetCallback(pWidget, (void (*)(void*, tGUI_CALLBACK_PARAM))_Draw); } int main(void) { GUI_Init(); CreateMyWidget(); GUI_Exec(); return 0; } ``` 请注意,这只是一个简单的示例,您需要根据您的具体需求进行调整。希望这对您有所帮助! |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1771 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1619 浏览 1 评论
1070 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
724 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1673 浏览 2 评论
1935浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
728浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
567浏览 3评论
593浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
551浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 09:54 , Processed in 0.853832 second(s), Total 79, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号