Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了用户界面 – 没有Linux的嵌入式系统的图形库?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

似乎任何像 DirectFB或 MiniGui这样的图形库都需要像Linux或uClinux这样的底层操作系统. 对于只有512kb闪存的微控制器编写软件,LCD显示屏和触摸屏可以显示和处理一些图片和GUI部件. 您是否知道任何只需要指向视频内存,也可以处理线条,图像和字体的库? 当你纳入一些第三方解决方案,你可以自己写的. 对于大多数(如果不是全部)环境,屏幕只是像素的二维数组.有时托盘化有时候
似乎任何像 DirectFBMiniGui这样的图形库都需要像Linux或uClinux这样的底层操作系统.

对于只有512kb闪存的微控制器编写软件,LCD显示屏和触摸屏可以显示和处理一些图片和GUI部件.

您是否知道任何只需要指向视频内存,也可以处理线条,图像和字体的库?

解决方法

当你纳入一些第三方解决方案,你可以自己写的.

对于大多数(如果不是全部)环境,屏幕只是像素的二维数组.有时托盘化有时候不是,但这并不重要,你可以写你想要的.

有大量的免费代码,用于绘制线条和弧线等.

杀手可能是字体,但我想你会发现,第三方应用程序会嚼掉所有的内存,只是做字体,你资源有限,所以你想要预先计算字体,只是复制位.

一个二维数据的数组,首先在你喜欢的主机上完成所有的工作,如果你想看到你正在绘制的东西,保存.bR_209_11845@p文件是微不足道的,而且将一系列.bR_209_11845@p文件变成一个视频如果你想看一些动作.

如果您使用通用C,并且没有libc调用(写入您自己的memcpy,memset等),则此代码将在主机上运行,​​并在目标上运行.

字体将成为您的杀手,您必须预先计算它们,但可以将该信息压缩到尽可能小的范围内,并在运行时提取数据,并将每个字母的位复制到虚拟屏幕中,尽可能快.

或者只是购买许多lcd解决方案之一,为您做所有这一切,你只需发送命令,如画“Hello World!”在某些(x,y)使用蓝色作为前景和白色作为背景.

基本上我认为非os解决方案仍然会使用太多的库,对于你的具体应用来说太大了. 2d数组的字节或像素是微不足道的管理自己.即使您正在为桌面平台编写应用程序,我将以此方式执行此操作,并在最后一刻将完全重新编辑的屏幕更新复制到某个依赖于OS的库(允许从一个操作系统或另一个操作系统获得最大可移植性).

大佬总结

以上是大佬教程为你收集整理的用户界面 – 没有Linux的嵌入式系统的图形库?全部内容,希望文章能够帮你解决用户界面 – 没有Linux的嵌入式系统的图形库?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。