EMWIN——gui界面
文章平均质量分 78
STM32——GUI界面
我与nano
嵌入式开发,物联网,PCB,linux应用,卡尔曼,pid,Jetson nano,树莓派,K210,深度学习,机器视觉,Opencv,slam,Ros,自控
展开
-
STM32——EMWIN基础显示(一)
EMWIN文章目录EMWIN一、文本显示二、重点API函数简介1.GUI_SetTextMode()2.GUI_SetTextAlign()3. GUI_Clear()和 GUI_DispCEOL()4.GUI_DispStringInRectWrap()三、例程代码一、文本显示要在 LCD 上显示文本,只需调用例程 GUI_DispString() 并以要显示的文本作为参数即可。例如:GUI_DispString("Hello world!");常用的API函数第四个应该是在水平居中位置原创 2022-04-07 00:41:00 · 3665 阅读 · 0 评论 -
STM32——EMWIN数值显示(二)
EMWIN文章目录EMWIN前言一、数值显示 API 函数二、显示十进制数值三、 显示浮点数值四、二进制和十六进制数值显示前言很多情况下我们需要在LCD上显示数值,STemWin同样也给我们提供了丰富的数值显示API函数,这些API函数可以直接显示十进制数值,浮点数值,二进制数值,十六进制数值和emwin版本号。一、数值显示 API 函数显示十进制数值GUI_DispDec() 在当前位置显示指定字符数的十进制数值。GUI_DispDecAt() 在指定位置显示指定字符数的十进制数值。GUI原创 2022-04-07 00:51:19 · 1834 阅读 · 0 评论 -
STM32——EMWIN 2D绘图(三)
EMWIN文章目录EMWIN前言一、图形库基本 API 简介1.画笔大小2.基本绘图例程二、Alpha 混色1.API函数2.代码演示三、其他绘图函数1.绘制线条2.其他图像绘制函数前言emWin 提供有完整的 2-D 图形库,我们可以使用这些 2-D 图形库来绘制一些 2D 图形一、图形库基本 API 简介1.画笔大小在绘制图形的时候我们常常需要不同粗细的线条,其实就是改变画笔的大小,emWin 中提供了 2 个关于画笔大小的 API 函数:GUI_GetPenSize()和 GUI_SetP原创 2022-04-07 01:08:37 · 5119 阅读 · 0 评论 -
STM32——EMWIN位图显示(四)
EMWIN文章目录EMWIN前言一、位图转换器二、位图绘制 API 简介1.GUI_DrawBitmap()2.GUI_DrawBitmapEx()三、实验代码前言很多情况下我们需要在 LCD 上显示图片,本章我们就看一下如何使用位图转换器将图片转换为 C 文件,然后调用 emWin 中的相应函数来显示这个 C 文件位图。一、位图转换器一般而言,emwin能够在任何显示器位置显示所有位图图像,使用emwin显示位图的时候需要先用位图转换器将要显示的图片转换为位图数组。在ST官网下载的STemWin原创 2022-04-07 12:37:04 · 2925 阅读 · 0 评论 -
STM32——EMWIN颜色(五)
EMWIN文章目录EMWIN前言一、预定义的基本颜色二、颜色 API 函数前言emWin 支持黑色 / 白色、灰度 (具有不同强度的单色)和彩色显示器。同一用户程序可用于任何显示器;只有 LCD 显示器的配置才需要进行更改。emWin 中颜色分为逻辑颜色和物理颜色,逻辑颜色是应用程序处理的颜色,逻辑颜色始终按 RGB 值进行定义,是一个 24 位的值,每种颜色包含 8 位。物理颜色是可用显示器实际显示的颜色,按逻辑颜色映射到物理颜色一、预定义的基本颜色在 emWin 中预定义一些标准颜色,这些预定原创 2022-04-07 13:20:36 · 1485 阅读 · 0 评论 -
STM32——EMWIN存储管理(六)
EMWIN文章目录EMWIN前言一、存储设备简介1.存储设备初窥2. 内存要求二、 存储设备基本 API 函数1.GUI_MEMDEV_Create()2. GUI_MEMDEV_Select()三、实验代码四、分段存储设备1.GUI_MEMDEV_Draw()前言存储设备可在各种情况下使用,主要用于防止在绘制重叠项目时出现显示器闪烁。其基本思想很简单,不使用存储设备时,绘制操作直接写入显示器,屏幕在执行绘制操作时随时更新,从而在进行各种更新时使屏幕闪烁。例如,如果要在背景中绘制一个位图,在前景中绘制原创 2022-04-07 14:24:54 · 1860 阅读 · 0 评论 -
STM32——EMWIN自动设备对象(七)
EMWIN文章目录EMWIN前言一、自动设备二、自动设备对象 API 函数1.GUI_MEMDEV_CreateAuto()2.GUI_MEMDEV_DeleteAuto()3.GUI_MEMDEV_DrawAuto()三、实验代码前言自动设备对象以分段存储设备为基础,对于一次仅更新一小部分的应用(如鼠标移动、仪表盘的指针移动)而言可能更高效。该设备会自动识别包括固定对象的显示器区域,以及包括必须更新的西东或更改对象的区域,第一次调用绘制函数时会绘制所有项目,每一次后续调用都将仅更新或更改对象使用的原创 2022-04-07 17:03:06 · 1400 阅读 · 0 评论 -
STM32——EMWIN分段存储设备(八)
EMWIN文章目录EMWIN一、分段存储简介1.GUI_MEMDEV_Draw()二、演示例程一、分段存储简介前面我们说过,使用存储设备的最大好处就是防止屏幕删除,使用存储设备的时候首先通过执行指定绘制函数来填充存储设备,填充后,将存储设备中的内容绘制到 LCD 中。但是有时候没有用于一次性存储整个输出区域的内存可用,此时分段存储设备就派上用场啦,分段存储设备将绘制区域分成多段,每段包含当前可用内存可包含的最多行。分段存储设备就一个 API 函数,GUI_MEMDEV_Draw(),函数描述如下:1原创 2022-04-07 17:07:26 · 1014 阅读 · 0 评论 -
STM32——EMWIN窗口管理(九)
EMWIN文章目录EMWIN前言一、窗口术语二、窗口回调机制1.不使用回调渲染2.使用回调渲染3.背景窗口重绘和回调4.无效化三、消息1.消息结构2.消息类型总结前言窗口是用户界面中最重要的部分,它是屏幕上与一个应用程序相对应的矩形区域,包括框架和客户区,是用户与产生该窗口的应用程序之间的可视界面。每当用户开始运行一个应用程序时,应用程序就创建并显示一个窗口;当用户操作窗口中的对象时,程序会作出相应反应。用户通过关闭一个窗口来终止一个程序的运行;通过选择相应的应用程序窗口来选择相应的应用程序。Emwi原创 2022-04-07 20:37:08 · 3212 阅读 · 0 评论 -
STM32——EMWIN窗口管理(十)
EMWIN文章目录EMWIN一、 窗口管理器 API 函数二、演示例程1.窗口重绘总结一、 窗口管理器 API 函数基本函数WM_Activate() 激活窗口管理器。WM_AttachWindow() 将窗口附加到一个新的父窗口。WM_AttachWindowAt() 在给定位置将窗口附加到一个新的父窗口。WM_BroadcastMessage() 发送消息到所有现有窗口。WM_BringToBottom() 将窗口放在其同属窗口后面。WM_BringToTop() 将窗口放在其同属窗口原创 2022-04-07 21:29:14 · 2859 阅读 · 1 评论 -
STM32——EMWIN GUIBulider的使用(十一)
EMWIN文章目录EMWIN前言一、GUIBulider 简介二、GUIBulider 使用步骤1.创建对话框2.设置 Framewin 参数三、保存前言我们介绍一个使用 emwin 做界面的时候常使用到的一款“神器”:GUIBulider,使用这款软件就不需要我们自己用 C 语言编写界面了,可以在 GUIBulider 中设计好界面,然后导出 C程序,十分的方便。GUIBulider 是 emwin 官方出的软件,每个版本的 emwin 都有其对应版本的GUIBulider 软件,控件非常齐全,熟练原创 2022-04-08 01:09:55 · 3327 阅读 · 0 评论 -
STM32——EMWIN对话框(十二)
EMWIN文章目录EMWIN前言一、对话框基本原理二、创建对话框1.对话框资源表2.对话框回调函数3.对话框初始化三、定义小工具功能四、对话框API函数1. GUI_CreateDialogBox()2. GUI_ExecCreatedDialog()3.GUI_ExecDialogBox()4.GUI_EndDialog()前言小工具可以创建并独立使用,因为它们本质上就是窗口,但是,通常需要使用对话框,对话框是一个包含一个或多个小工具的窗口。对话框通常是一个窗口,它在出现时会要求用户输入信息,它可能原创 2022-04-08 10:14:19 · 2542 阅读 · 1 评论 -
STM32——EMWIN窗口小工具(十三)
EMWIN文章目录EMWIN前言一、小工具基础知识二、 如何使用小工具1.重绘机制2.小工具的使用三、通用控件 API 函数1.用于控件的 WM 函数2.常用 API 函数3._CreateIndirect()前言小工具是具有对象类型属性的各种窗口,在窗口界被称为控件,是组成用户界面的元素。它们可自动对某些事件作出反应,例如,按下某按钮后,它可以不同状态显示。小工具需要创建,具有可在存续期间随时更改的属性,并通常在不再需要时被删除。正如窗口一样,小工具通过其创建函数返回的句柄进行引用,小工具要求使用窗原创 2022-04-08 12:33:42 · 1789 阅读 · 0 评论 -
STM32——EMWIN BUTTON控件(十四)
EMWIN文章目录EMWIN一、BUTTON 控件简介1.通知代码2.键盘反应3.常用 API 函数二、BUTTON 控件基础例程一、BUTTON 控件简介按钮是常用的一种控件,可以在按钮上显示文本或者位图,默认情况下按钮显示如图我们可以通过设置按钮的皮肤改变按钮的显示效果,设置按钮皮肤以后显示如图1.通知代码以下事件是按钮小工具作为 WM_NOTIFY_PARENT 消息的一部分发送给其父窗口的,我们通常根据以下通知代码来编写按钮的功能的,尤其是 GUIBulider 生成的代码中WM_原创 2022-04-08 15:12:19 · 2497 阅读 · 0 评论 -
STM32——EMWIN BUTTON 控件显示位图(十五)
EMWIN文章目录EMWIN前言一、制作位图 C 文件二、GUIBulider 设计界面前言有时候我们希望在按钮上显示一些图片以区分打开和关闭,比如上一小节中打开 LED,使用 emwin 自带的 BUTTON 控件的时候打开和关闭 LED 时 BUTTON 的状态都是一样的,不能很只管的判断出此时 LED 灯的状态,需要我们去查看 LED 的亮灭才能判断。emwin 提供了在 BUTTON 上显示位图的 API 函数,那么我们就可以在打开和关闭的时候通过显示不同的位图来区分开、关这两种状态一、制作原创 2022-04-08 17:36:00 · 1237 阅读 · 0 评论 -
STM32——EMWIN CHECKBOX 控件(十六)
EMWIN文章目录EMWIN前言一、通知代码二、 键盘反应三、CHECKBOX 控件 API 函数三、CHECKBOX 控件演示例程前言复选框是选择各种不同选项的最常用小工具之一,用户可选中或取消选中复选框,并且可一次选中任意个框。使用键盘界面时,被聚焦的复选框的状态可使用空格键切换,禁用的框显示为灰色一、通知代码下面列举出了复选框小工具作为 WM_NOTIFY_PARENT 消息的一部分发送给其父窗口的消息类型:WM_NOTIFICATION_CLICKED 复选框已被点击。WM_NOTIF原创 2022-04-09 22:06:22 · 1077 阅读 · 0 评论 -
STM32——EMWIN DROPDOWN 控件(十七)
EMWIN文章目录EMWIN前言一、 DROPDOWN 控件简介二、通知代码三、键盘反应四、DROPDOWN 控件 API 函数五、DROPDOWN 控件演示例程前言DROPDOWN 小工具用于从具有若干栏的列表中选择一个元素,它以非打开状态显示当前选择的项目,如果用户打开 DROPDOWN 小工具,就会出现一个选择新项目的 LISTBOX一、 DROPDOWN 控件简介DROPDOWN 控件在打开和关闭情况下分别如图 16.1.1 和 16.1.2 所示二、通知代码下表列举出了 DROP原创 2022-04-09 22:41:12 · 1999 阅读 · 0 评论 -
STM32——EMWIN EDIT 控件(十八)
EMWIN文章目录EMWIN前言一、 EDIT 控件简介二、通知代码三、键盘反应四、 EDIT 控件 API 函数五、EDIT 控件演示例程总结前言EDIT 控件通常用来作为输入文本的主要用户界面,也可使用编辑字段以二进制、十进制或十六进制模式输入值。一、 EDIT 控件简介如下图二、通知代码列举出了 EDIT 小工具作为 WM_NOTIFY_PARENT 消息的一部分发送给其父窗口的消息类型:WM_NOTIFICATION_CLICKED 已单击小工具。WM_NOTIFICATION_原创 2022-04-09 23:08:45 · 2453 阅读 · 0 评论 -
STM32——EMWIN FRAMEWIN 控件(十九)
EMWIN文章目录EMWIN前言一、 FRAMEWIN 控件简介二、 FRAMEWIN 控件 API 函数三、FRAMEWIN 控件演示例程前言框架窗口为我们的应用提供一个 类似 PC 应用程序的窗口外观,这些窗口由周围框架、标题栏和用户区组成,标题栏的颜色改变以显示窗口是否激活。一、 FRAMEWIN 控件简介FRAMEWIN 控件的外观如图所示:我们也可以将预定义的按钮附加到标题栏中,比如最大化、最小化和关闭按钮框架窗口实际上由 2 种窗口组成:主窗口和子窗口,子窗口称为客户端窗口,原创 2022-04-09 23:28:04 · 1340 阅读 · 0 评论 -
STM32——EMWIN 字体(二十)
EMWIN文章目录EMWIN一、字体简介二、 字体类型三、 字体格式1. C 文件格式2.系统独立字体(SIF)格式3.外部位图字体(XBF)格式4.TrueType 字体(TTF)格式三、声明自定义字体四、 选择字体五、字体常用 API 函数一、字体简介字体支持的第一种方法就是使用字体定义中含每个字符的 1 bpp 像素信息位图的 C 文件。这种字体支持仅限于使用应用编译的字体。随着时间推移,字体支持在字体质量、ROM 要求、性能、可扩展性和运行时添加更多字体的能力方面进行了改进。同时,emWin原创 2022-04-10 14:35:14 · 2778 阅读 · 0 评论 -
STM32——EMWIN XBF 格式字体显示(二十一)
文章目录一、XBF 格式字库制作1、选择字体类型2.保存字体二、XBF 字体相关 API 函数1. GUI_XBF_CreateFont()函数2.GUI_XBF_DeleteFont()一、XBF 格式字库制作首先我们要用字体转换器制作所需的 XBF 字体,我们下载的 STemWin 源码中已经包含了字 体 转 换 器 :FontCvtST.exe接下来我们制作 4 个 XBF 字库,字体都选择为宋体,大小分别为 12,16,24 和 36,字体类型为“Extended,antialiased,原创 2022-04-10 15:23:13 · 1766 阅读 · 0 评论 -
STM32——EMWIN BMP图片显示(二十二)
EMWIN文章目录EMWIN一、支持格式二、BMP 文件 API 函数三、实验代码一、支持格式emWin 支持 BMP 图片解码,可以直接从外部存储器(如 SD 卡)中读取 BMP 图片文件在 LCD上显示BMP 文件格式由 Microsoft 定义二、BMP 文件 API 函数GUI_BMP_Draw() 绘制已加载到存储器的 BMP 文件。GUI_BMP_DrawEx() 绘制无需加载到存储器的 BMP 文件。GUI_BMP_DrawScaled() 绘制已加载到存储器的带比例的 BM原创 2022-04-10 15:52:14 · 1220 阅读 · 0 评论 -
STM32——EMWIN JPEG 图片显示(二十三)
EMWIN文章目录EMWIN前言一、JPEG 文件 API 函数二、实验演示前言JPEG 是全彩和灰度图像的标准压缩方法, JPEG 用于压缩“真实世界”的景象、线条画、卡通,其他非现实图像并不是其强项。 JPEG 会有损耗,意指输出图像与输入图像并不完全相同,因此,如果需要达到完全相同的输出位,则不能使用 JPEG。不过,对于常见的照片图像,可以得到非常好的压缩级别,看不出变化。emWin 支持 JPEG 图片显示,可以直接从外部存储器(如 SD 卡)中读取 JPEG 图片文件在 LCD 上显示。原创 2022-04-10 17:33:02 · 1717 阅读 · 0 评论 -
STM32——EMWIN GIF图片显示(二十四)
EMWIN文章目录EMWIN前言一、GIF 文件支持二、GIF 文件 API 函数三、实验演示总结前言GIF 图片用于跨数据网络传输,GIF 标准支持隔行扫描、透明、应用定义数据、动画以及原始文本渲染, emWin 将忽略原始文本或应用特定数据等不受支持的数据。GIF 文件使用LZW (Lempel-Zif-Welch) 文件压缩方法来压缩图像数据,这种压缩方法运行起来不会丢失数据。输出图像与输入图像完全相同。一、GIF 文件支持图形库首先对图形信息进行解码,在显示 GIF 图像的时候,其中解码流原创 2022-04-11 00:26:26 · 711 阅读 · 0 评论 -
STM32——EMWIN PNG 图片显示(二十五)
EMWIN文章目录EMWIN前言一、RAM 使用二、PNG 文件 API 函数三、实验演示前言PNG 格式是一种图像格式,其目的是试图替代 GIF 和 TIFF 文件格式,同时增加一些 GIF文件格式所不具备的特性。PNG 用来存储灰度图像时,灰度图像的深度可多到 16 位,存储彩色图像时,彩色图像的深度可多到 48 位,并且还可存储多到 16 位的α通道数据。emWin 是支持 PNG 解码的一、RAM 使用PNG 解压缩大约需要 21 Kb RAM 用于与图像大小无关的解压缩和依赖大小的字节量原创 2022-04-11 11:34:40 · 1810 阅读 · 0 评论