爱学习的妞 发表于 2012-11-14 12:47:35

关于rt-thread/gui的界面图片问题

    近日都在忙着看rt-thread/gui的东西,以前从没有学习实践过任何GUI方面的知识,甚至是裸机程序都没写过,一下子要开始操作系统的GUI,感觉难度很大!
    过来请教高手问题:我使用的是rt-thread操作系统(国内开源的一款强大的操作系统),用的是STM32F4,采用电阻触摸屏显示界面。现在我想在界面上显示一个图片按键,不知道如何下手(比如图片格式选取,图片数据如何得到,图片数据存放在地方等等问题),麻烦知道的朋友,给点思路!即使不是这个操作系统的思路,我也爱听,O(∩_∩)O~
    感谢

channe 发表于 2012-11-14 12:52:37

我也是外行。
如果你用的图片是经常调用的,比如果前进后退的图标什么的,几乎每个页面都有的,最好直接存储取模后的值(在电脑上用取模软件取模)。
如果是自定义的图片,bmp png 和jpg都是比较常用的格式,同时你需要对应格式的解码代码。
大量的图片可以存储在SD卡上。

爱学习的妞 发表于 2012-11-14 14:10:53

channe 发表于 2012-11-14 12:52 static/image/common/back.gif
我也是外行。
如果你用的图片是经常调用的,比如果前进后退的图标什么的,几乎每个页面都有的,最好直接存 ...

眼下我们系统设计没有使用SD卡,准备将自定义的图片存放在外扩的nandflash中,不知道这个跟存放在SD卡中的情况是否一样?
对于常用的图片,使用图片取模软件取值之后,图片数据以什么形式存储在哪里,比较适合?

channe 发表于 2012-11-14 15:15:51

SD卡的好处是可以在电脑里放入或删除图片。
放在外部FLAH里完全可以。
取模后的图片就是一个大数组,可以直接刷屏,无需解码。放在哪里看你芯片FLASH的大小而定。

liurangzhou 发表于 2012-11-14 15:20:23

NAND读取够慢的

error_dan 发表于 2012-11-14 15:39:08

既然是放在NAND里面的直接取模放到NAND里面好了,用系统的话,都会提供很多的API,在已经完整移植的系统上直接调用API就能完成大部分工作.

爱学习的妞 发表于 2012-11-14 23:06:23

error_dan 发表于 2012-11-14 15:39 static/image/common/back.gif
既然是放在NAND里面的直接取模放到NAND里面好了,用系统的话,都会提供很多的API,在已经完整移植的系统上直接 ...

如果直接取模放在nand里面,跟采用压缩的图片格式存放相比较而言,哪个占用的空间更小?在界面刷屏的时候,速度更快呢?如果要测试占用空间和刷屏的速度,我该做哪些工作?

aozima 发表于 2012-11-15 11:47:09

爱学习的妞 发表于 2012-11-14 23:06 static/image/common/back.gif
如果直接取模放在nand里面,跟采用压缩的图片格式存放相比较而言,哪个占用的空间更小?在界面刷屏的时候 ...

在运算能力很强的系统里面,使用压缩的图片更快。
反之,存储不压缩的图片更快。

比较的是解压速度和读取速度,根据实际情况权衡。

ffxz 发表于 2012-11-15 15:43:42

要快就使用RTGUI里的HDC格式图片,这个也就是取模后的数据

爱学习的妞 发表于 2012-11-15 16:07:43

ffxz 发表于 2012-11-15 15:43 static/image/common/back.gif
要快就使用RTGUI里的HDC格式图片,这个也就是取模后的数据

我现在要添加的图片按键挺多的,都转换成HDC格式图片,对系统的内存要求会不会提高?

ffxz 发表于 2012-11-15 16:09:47

HDC对内存要求最低,速度最快,但HDC体积基本上也是最大(在某些情况下比bmp好些)

linuxxulin 发表于 2012-11-16 20:36:05

ffxz 发表于 2012-11-15 16:09 static/image/common/back.gif
HDC对内存要求最低,速度最快,但HDC体积基本上也是最大(在某些情况下比bmp好些) ...

请问ffxz,aozima,BMP怎么转HDC格式啊。我现在做的这个项目,界面显示1M的位图,放在nandflash里,uffs文件系统,72M的M3。显示非常慢,效果不佳呀,后面测试是因为,读取flash花时间太多了,所以寻思弄个小点图片,这样应该能快些吧。 尝试移植jpg格式的没成功,那只能用hdc格式的啦,但是现在的问题是不知道怎么把bmp转hdc。

爱学习的妞 发表于 2012-11-17 09:04:40

linuxxulin 发表于 2012-11-16 20:36 static/image/common/back.gif
请问ffxz,aozima,BMP怎么转HDC格式啊。我现在做的这个项目,界面显示1M的位图,放在nandflash里,uffs ...

官网论坛里面有篇帖子,是aozima写的一个HDC图片的转换工具,连接是:http://www.rt-thread.org/phpBB3/viewtopic.php?q=phpbbforum/viewtopic.php&f=3&t=407&start=0,你可以找来看看。
你的信息:“显示非常慢,效果不佳”是你在屏上实测的结果吗?请教你是如何将图片存在flash中进行读取,图片存储的格式是什么格式?
页: [1]
查看完整版本: 关于rt-thread/gui的界面图片问题