大家好,今天我为大家带来中科蓝讯 BT8918C 表盘 UI 设计工具的使用介绍和新建表盘的具体操作流程。
中科蓝讯的表盘设计工具可以将 png 格式的表盘背景图、指针、电量等控件合成并转化为一个 bin 文件,设计者将该 bin 文件放入到指定目录下,编译 SDK ,会在 ui.h 文件中自动生成图片资源地址,然后代码中使用即可。
一、表盘设计工具介绍
表盘设计工具的主页如图 1 所示,左下方是可以进行图片的打开和表盘的生成,通过上移和下移调整控件图片在整个表盘中的显示优先级。中间是对图片类型及在屏幕中相对位置的调整。右侧可以预览表盘设计效果,并根据需要选择转换格式。
图 1 表盘设计工具主页
图片类型共有38 种,在进行表盘设计时需要选择对应的类型进行使用。
图 2 图片类型
图片转换格式共有 6 种:
♦RGB565 图标没有进行压缩,生成的 bin 文件比较大。
♦Onebit 单色的 ui,生成的 bin 文件小。
♦Palette565 根据图标的颜色色值大小是否超过 256 色,如果超过 256 就使用 RGB565,否则用 8 位。
♦Palette565-compress,把图片进行压缩成 256 色。
♦P565C-Alpha 主要是指针使用,透明化处理。
♦Palette565-compress-RLE 使用 RLE 把图片进行压缩成,注意图片的颜色丰富度要求低一些。
图 3 转换格式
2. 修改图片类型、坐标等图片参数,根据右侧的效果预览图可以确定是否达到想要的效果,如图 4 所示。
图 4 模拟时钟表盘设计
3. 确定转换格式,表盘背景使用 RGB565 进行转换,指针则使用P565C-Alpha 进行转换。
三、SDK 新建表盘
通过以上的操作,我们已经成功将 png 格式的图片资源转换为 bin 文件。接下来将该 bin文件放入中科蓝讯 BT8918C 的 SDK 中 app\projects\watch\Output\bin\ui 文件夹下,如图 5 所示。
图 5 在 ui 文件夹中放入 bin 文件
编译 SDK 后,ui.h 文件中会自动生成该表盘图片的地址宏定义,如图 6 所示。
图 6 ui.h 文件中自动生成图片地址
表盘的相关代码在 func_gwatch_market.c 文件中,需要将创建的新表盘放入表盘数组中,如图 7 所示。
图 7 表盘数组中新增新表盘图片
void *watch_market_select(u8 index, int x,int y) 函数会对表盘进行解析,在 os_spiflash_read(&addr, watch_market_info[index], 4) 函数中调用之前放入图片的 watch_market_info[ ] 获取图片地址,然后通过 for 循环对表盘中的各个控件进行处理。
图 8 部分表盘解析代码
编译和烧录后,即可在开发板上看到效果,如图 9 所示。
图 9 烧录结果
四、图片转换工具
图 10 图片转换工具
五、参考资料
评论