admin管理员组文章数量:1531237
2024年5月7日发(作者:)
安富莱STM32-V5开发板STemWin教程
第12章 JPEG图片显示
本期主要讲emWin支持的JPEG图片的显示,官方支持的主要有两种显示方法,一种是从外部存储器
读取数据到内部存储器后,再显示图片,这种的显示速度要快些。另一种方法是直接从外部存储器读取数据
并显示,这种办法的好处就是不要大的RAM需求,每次读取一些数据显示一次,坏处就是显示速度比较的
慢。
由于官方提供的JPEG的显示方法比较耗RAM,这里将2MB的外部SRAM做为emWin的动态内存。
12. 1 JPEG图片支持
12. 2 绘制已经加载到存储器的JPEG图片
12. 3 绘制无须加载到存储器的JPEG图片
12. 4 实验总结
12.1 JPEG图片支持
JPEG(读音为 “jay-peg”)是全彩和灰度图像的标准压缩方法。JPEG用于压缩 “真实世界”的景象、
线条画、卡通,其他非现实图像并不是其强项。JPEG会有损耗,意指输出图像与输入图像并不完全相同。
因此,如果您必须达到完全相同的输出位,则不能使用JPEG。不过,对于常见的照片图像,可以得到非常
好的压缩级别,看不出变化。并且如果您能容忍低质量的图像,则可以实现相当高的压缩级别。
这里有一点要特别的注意:出于法律原因,不得分发JPEG算术编码变体的代码。JPEG规范的算术编
码选项似乎属于归IBM、AT&T和Mitsubishi所有的专利。因此,从法律上讲,如未获得一个或多个许可,
则不能使用算术编码。因此,尚未包含对算术编码的支持。(由于算术编码相对于未获专利的Huffman模
式仅具有限界收益,因此不太可能有太多实施支持它。)JPEG文件支持不包含提供标准中定义的层次式或无
损流程。
12.1.1 JPEG格式图标转换
某些情况下,将JPEG文件作为C文件添加到项目中非常有用。这时,首先需要将JPEG文件转换为
C文件。使用emWin随附的工具可完成此任务。这个工具在STemWin软件包里面
没有,需要到MDK安装目录里面找。下面我们下图JPEG格式的图片转换成C文件。
第 1 页 共 9 页
安富莱STM32-V5开发板STemWin教程
打开软件加载上面的图片
加载后点击Convert即可,点击后没有任何现象,直接去图片所在的文件夹找即可
实际运行代码如下(图片数据就不贴出来了,看本期教程配套的例子)
void MainTask(void)
{
GUI_Init();
GUI_JPEG_Draw(_ac11, sizeof(_ac11), 0, 0);
while(1)
{
GUI_Delay(100);
}
}
实际显示效果如下:
第 2 页 共 9 页
版权声明:本文标题:第12章emWin(UCGUI)JPEG图片显示 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1715036094a431676.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论