一起玩转 LiteOS 组件:Pixman
摘要:本文将以 Pixman Demo 为例,详细说明 Pixman 的功能。
本文分享自华为云社区《LiteOS组件尝鲜—玩转Pixman》,作者:Lionlace。
基本介绍
Pixman 是由三星工程师开发的像素操作库,广泛应用于矢量图形 Cario 和 X 服务器等。它能够提供低级像素处理能力,同时具备图像合成、图形变化以及光栅化等功能。本文将以 Pixman Demo 为例,详细说明 Pixman 的功能。
该 Demo 实现功能的步骤:新建一个宽高为 2020 的像素图片,将目标图片划分为 4 个 1010 的区域。第一个区域填充蓝色,第二个区域填充蓝粉渐变色,第三个区域填充径向渐变色,第四个区域填充圆形渐变色,最后输出图形到 pixman.png 即可。下面将介绍详细步骤。
Demo 实现的环境要求
Demo 需要 FATFS 文件系统和 LIBPNG 支持,可在已支持该文件系统的开发板上运行,目前已适配 STM32F769IDISCOVERY 开发板。
使能 Pixman Demo
拷贝并重命名配置文件
在 LiteOS 源码根目录下根据实际使用的开发板,拷贝 tools/build/config/目录下的默认配置文件 ${platform}.config 到根目录,并重命名为.config。以 Linux 系统和 STM32F769IDISCOVERY 开发板为例,在 LiteOS 源码目录下,执行如下命令完成配置文件的拷贝和重命名:
使能 Pixman Demo
在 LiteOS 源码根目录下运行 make menuconfig 命令,按如下菜单路径使能 Pixman Demo:
使能 Pixman Demo 后,会自动使能其依赖的 Pixman 组件、Libpng 组件及 FATFS 文件系统并设置 SD 卡模式。本 Demo 中的文件就保存在 SD 卡中。保存退出 menuconfig 后,LiteOS 会从 github 上自动下载 Pixman 源代码,并从 gitee 的 LiteOS 组件仓库 LiteOS_Components 下载对应的 patch 包,并打入 patch。
关于组件下载的详细流程请参考:https://gitee.com/LiteOS/LiteOS_Components#%E5%9C%A8%E7%BA%BF%E7%BB%84%E4%BB%B6%E4%B8%8B%E8%BD%BD%E6%B5%81%E7%A8%8B
注:下载需要 Linux 主机可以访问互联网,并安装 git 工具。如果使用 LiteOS Studio 使能该 Demo,需要在组件配置中手动设置 FATFS 文件系统为 SD 卡模式。
编译运行 Pixman Demo
操作步骤如下:
将 SD 卡插入开发板的卡槽内;
参照上述步骤使能 Pixman Demo;
在 LiteOS 源码目录下执行 make clean ; make -j 命令编译 LiteOS 工程,编译成功后将在 out/${platform}/lib 目录下生成 Pixman 的库文件 libpixman.a,Libpng 的库文件 libpng.a 和本 Demo 的库文件 libpixman_demo.a,系统镜像文件为 Huawei_LiteOS.bin。以 STM32F769IDISCOVERY 开发板为例,其目录就是 out/STM32F769IDISCOVERY;
烧录系统镜像文件到开发板,复位后可以看到串口输出 Demo 运行结果如下所示。
查看 SD 卡根目录,可以看到生成的图片文件为 pixman.png。
至此,该 Demo 实现功能就完成了。
结语
未来我们还会持续新增更多组件、开发板、架构、特性等。
感谢您的阅读,有任何问题、建议,都可以留言给我们,让我们一起进步:https://gitee.com/LiteOS/LiteOS/issues。
为了更容易找到“LiteOS”代码仓,建议访问https://gitee.com/LiteOS/LiteOS,关注“ Watch”、点赞“Star”、并“Fork”到自己账号下,如图所示。
更多学习内容,请关注IoT物联网社区
添加华为云 IoT 小助手微信号(hwc-iot),回复“阅读”获取更多资讯
版权声明: 本文为 InfoQ 作者【华为云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/8b9a45d98b7554261d30b9f96】。文章转载请联系作者。
评论