数码相框(十七、数码相框程序编写_先写框架)

news/2024/11/8 16:51:09/

注:本人已购买韦东山老师第三期项目视频,内容来源《数码相框项目视频》,只用于学习记录,如有侵权,请联系删除。

1.数码相框需求框架

数码相框项目需求的框架如下图所示:
在这里插入图片描述

  • ① 开发板上电后,进入主界面(Main page),在主界面中有 3 个触摸按钮:浏览模式、连播模式、设置。
  • ② 点击浏览模式,进入到浏览界面(Explore page),浏览界面分成两部分:菜单、图标(文件或者文件夹)。其中菜单,向上:当我们进入了某个文件夹里,想要退出来,点击向上即可退出;选择:当我选中了某个图片之后,点击选择即可显示该图片;下页:可能文件夹非常多,在一个屏幕上显示不完,点击下页即可显示下一页的文件夹;上页:同理下页;功能就相当于一个文件浏览器了。
  • ③ 点击 ② 中的文件图标,就进入到浏览界面(Browse page),在浏览界面中最上面的菜单用于返回上一浏览界面(Explore page)、缩小/放大图片、显示上一幅/下一幅图片、连续播放图片。
  • ④ 点击连播模式,会进入到 Auto page 界面,显示某个目录下的第一张图片;在该界面中,每隔一定的时间就会显示下一幅图片;在显示的过程中,点击当前图片,则进入 Browse page,可以放大缩小当前图片。
  • ⑤ 点击设置,进入设置界面(Setting page),在该界面有有两个触摸按钮:选择目录、设置间隔;点击选择目录则进入Explore page界面,让我们选择某一个文件夹用于连播模式的图片播放;点击设置间隔,会进入 Interval page 界面,点击该界面的上下两个三角形,可设置间隔时间的加减。

2.数码相框程序框架

为了更加容易实现数码相框的功能需求,我们采取由上而下的方法设计程序框架,程序框架如下图所示:
在这里插入图片描述

  • ① 在数码相框的项目需求中有很多界面,为了更好的管理这些界面,我们需要以面向对象的思想抽象出一页的结构体(PageAction),并使用 page_manager.c 来管理这些结构体;该结构体的成员如下,后面会再一步一步的完善该结构体:
    PageAction {.run() /* 涉及显示文字和图片 */.GetInputEvent()  /* 获取输入事件 */.Prepare() /* 预先准备好下一个可能的操作对应的图片 */
    };
    
  • ② 上层的 main.c 调用某个 Page(“main”) 中的 Run()函数, Run()函数就会就会取到 main_page.c 这个文件抽象出来的 PageAction 结构体,调用里面的 Run()函数,就会显示出 Main page 界面,就会调用底层的 render.c,根据上层的要求,调用 freetype 库函数(显示文字)或者调用 libjpeg 库函数(显示图片)来得到位图,怎么显示呢?调用底层的 disp_manager.c 在 framebuffer 上显示;
  • ③ 怎么获得输入呢?调用 PageAction 结构里的 GetInputEvent() 函数,最终访问到硬件,即调用 input_manager.c 来根据上层要求,touchscreen.c(触摸屏输入)来获取输入事件。

http://www.ppmy.cn/news/588344.html

相关文章

1、数码相框之框架分析

文章目录 1、需求分析2、设计框架3、编写代码4、测试 下一节:2、数码相框之显示文字 设计产品时的思路大体如下: 弄清需求设计框架编写代码测试 1、需求分析 2、设计框架 系统工作大致流程如下: 1、输入进程 触摸屏线程(或按键…

10、数码相框编写程序之图标显示

文章目录 1、bmp数据提取1.1、bmp 文件格式1.2、文件信息头1.3、位图信息头1.4、RGB 颜色阵列1.5、关于pic_operation.h1.6、关于bmp.c 2、图片缩放3、图片合并4、测试 上一节:9、数码相框编写程序之框架分析 下一节:11、数码相框编写程序之MainPage显存…

Wifi-ESL接口文档

一、更新Wifi ESL数据接口,updateScreen 使用系统模板 接口简介: 使用服务器模板更新ESL数据 基本信息: 标识 接口信息 接口状态 开发中 接口地址 http://47.106.109.236:8010/mms/associate/updateScreen 请求方式 POST 请求类型 …

关于小米路由器青春版刷老固件

首先要知道因为重置过的路由器,未配置拨号或者宽带连联网,所以手动降级要将我们的电脑与路由器用网线连接,再登陆mini.com,进行刷机。

小米2s回退出厂版本_小米8青春版官方出厂rom系统刷机包_降级包回退包V10.0.8.0...

下面同样是这个小米8青春版的固件rom包了,也就是原版的系统刷机包了,不知道有没有机友需要的呢,在这里说的这个系统包是线刷格式的出厂rom包了,也就是原版的没有任何改的固件rom线刷包了,这个是很实用的,当…

小米10青春版科学计算机,小米10青春版,能找回你的青春吗?

原标题:小米10青春版,能找回你的青春吗? 小米10青春版将于4月27日(下周一)正式发布,现在该机已开启预约。页面显示目前预约人数已超过3.2万人。 性能方面,小米10青春版搭载高通骁龙765G移动平台,它基于7nm工…

小米10青春版科学计算机,确定了!小米10青春版:首发搭载 MIUI 12 系统,50倍变焦加持...

确定了!小米10青春版:首发搭载 MIUI 12 系统,50倍变焦加持 2020-04-21 11:23:37 0点赞 0收藏 1评论 4月21日早间消息,小米手机官微正式宣布小米10 青春版和 MIUI 12 来了,小米将于4月27日下午2点举办线上发布会&#x…

android p小米8青春版,小米8青春版获得Android P更新,MIUI10越发强大

MIUI系统虽然是基于安卓而来,但是经过多年的发展积累也成为国内数一数二的系统。对于许多小米机型来说适配度非常的高,甚至很多老旧的机型依然可以凭借MIUI获得比较新的安卓系统。虽然国内没有办法用Googl的全家桶,但是得益于小米系统的本地化…