概述
OSD添加新的主菜单
- 一、主菜单素材的准备
- 1.1 图标
- 1.2 语言
- 二、素材转换
- 2.1 图标转换
- 2.2 语言转换
- 三、主菜单的添加
- 3.1 了解菜单流程
- 3.2 配置主菜单
- 3.3 画主菜单
- 3.4 多级菜单
一、主菜单素材的准备
1.1 图标
1.2 语言
二、素材转换
2.1 图标转换
(1) 修改格式为bmp
(2) 根据菜单颜色保存为2 Color / 4 Color/ 8 Color / 16 Color
(3) 修改分辨率为能整除12W:18H的比例
(4) 图标的Font制作(基于New_OSD_Generator_v1046.exe工具)
①:切换到Icon转换界面
②:加载图片
③:选择需要转换的Color
(如果图标已经提前保存为所需Color,可以跳过4、5步骤)
④:根据所需Color数填写
⑤:开始Color转换
⑥:切换到Fonts转换界面
①:生成当前图标的Font
②:拷贝当前Font数据,留待添加进代码
③:将主菜单所有图标Font数据转换好后,全部添加在一个数组中,以供加载
2.2 语言转换
(1) 把所有需要的语言字符列出来,筛选掉重复项
(2) 将字符做成Font
①:进入字体制作界面
②:添加Fonts,比如说我要制作2个汉字“亮度”就新建2个Font
③:新生成的2组Font参数
④:点选由Unicode生成
⑤:选择需要生成的字体类型和大小
比如我选择一种:宋体—>常规—>12—>确定
①:在输入框中输入文字
②:我选择的字体和大小刚好在一个Font里即可完全显示
(如果需要更大字体,可以重新配置字体大小,再分成2个Font显示)
③:点击这个Font参即可把字体配置过来
④:将Font另存为.msf文件,方便以后编辑修改
⑤:添加完所需的Font后,跳转String Editor页面查看
(3) 制作字符串
①:一般设置:
当前菜单地址设置为0x60
(这个地址不固定,因为前面0x5F留作加载图标用,所以当前地址就从0x60开始,如果前面没被使用,设置0x00也可以)
字符A,a,空格,0这4个字符对应的地址
语言数目前用2种,字符串中各个字符的间隔为1个像素。
②:添加字符串项
③:当前菜单用到的10个字符串项
④:英文和数字可以直接输入,其他字符需要输入地址
⑤:字符串实际显示的预览
⑥:生成字符Code,参考demo代码,加入其中
三、主菜单的添加
3.1 了解菜单流程
①:菜单函数
②:读取按键值
③:根据按键值,处理对应事件
④:MIA_GotoNext:显示下一级菜单
MIA_GotoPrev:显示上一级菜单
MIA_RedrawMenu:重画菜单
这3个事件都会跑到绘制菜单流程DrawOsdMenu()
主菜单显示效果如下图:
3.2 配置主菜单
(1) 配置tblMenus中主菜单的参数
(2)配置MainMenuItems中各个子菜单项的参数
3.3 画主菜单
(1) 加载图标和字符Font
(2) 画菜单背景
大概就是设置下颜色,然后画一个矩形的背景,直接看代码逻辑即可,不再过多讲述
(3) 画主菜单所有图标和字符
通过一个循环,将主菜单所有的Item,一个个画出来,大概就是设置下颜色,然后把Item的图标和字符串画出来,直接看代码逻辑即可,不再过多讲述
3.4 多级菜单
基于主菜单的二级菜单,三级菜单,甚至是四五级菜单。
因画法和主菜单基本相似,直接参考以上操作步骤即可,不再过多讲述
最后
以上就是俏皮钢笔为你收集整理的Mstar的Monitor方案笔记(六)——OSD添加新的主菜单一、主菜单素材的准备二、素材转换三、主菜单的添加的全部内容,希望文章能够帮你解决Mstar的Monitor方案笔记(六)——OSD添加新的主菜单一、主菜单素材的准备二、素材转换三、主菜单的添加所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复