写点什么

一起玩转 LiteOS 组件:Pixman

  • 2022 年 2 月 10 日
  • 本文字数:1505 字

    阅读完需:约 5 分钟

摘要:本文将以 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 源码目录下,执行如下命令完成配置文件的拷贝和重命名:


cp tools/build/config/STM32F769IDISCOVERY.config .config
复制代码

使能 Pixman Demo


​在 LiteOS 源码根目录下运行 make menuconfig 命令,按如下菜单路径使能 Pixman Demo:


Demos    --->        Media Demo    --->                [*] Enable Pixman Demo (NEW)
复制代码


​使能 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.aLibpng 的库文件 libpng.a 和本 Demo 的库文件 libpixman_demo.a,系统镜像文件为 Huawei_LiteOS.bin。以 STM32F769IDISCOVERY 开发板为例,其目录就是 out/STM32F769IDISCOVERY

  • 烧录系统镜像文件到开发板,复位后可以看到串口输出 Demo 运行结果如下所示。


********Hello Huawei LiteOS********LiteOS Kernel Version : 5.0.0build data : May 14 2021 16:05:30**********************************osAppInitcpu 0 entering schedulerapp init!Hello, welcome to liteos demo!File system mount success.Pixman demo task start to run.Pixman demo task finished.Huawei LiteOS #
复制代码


  • ​查看 SD 卡根目录,可以看到生成的图片文件为 pixman.png。


​至此,该 Demo 实现功能就完成了。

结语


未来我们还会持续新增更多组件、开发板、架构、特性等。


感谢您的阅读,有任何问题、建议,都可以留言给我们,让我们一起进步:https://gitee.com/LiteOS/LiteOS/issues


为了更容易找到“LiteOS”代码仓,建议访问https://gitee.com/LiteOS/LiteOS,关注“ Watch”、点赞“Star”、并“Fork”到自己账号下,如图所示。



​更多学习内容,请关注IoT物联网社区


添加华为云 IoT 小助手微信号(hwc-iot),回复“阅读”获取更多资讯


​​​点击关注,第一时间了解华为云新鲜技术~

发布于: 刚刚阅读数: 2
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
一起玩转LiteOS组件:Pixman