F769IDISCOVERY(STM32官网)的高档配置是它在多媒体应用方面游刃有余,尤其是将800*472的高分辨率4英寸电容式触摸屏与内部的JPEG解码功能相结合,使得普通的开发板难以望其项背。因为一般的开发板在显示图片时多是支持BMP格式的图片,即使支持JPG格式的图像文件显示,也多是以软件的方式来解码。 之所以使用BMP格式,是因为它属非压缩方式,无需解码处理,但占用的存储空间较大。 而JPG格式则属压缩存储方式,其优点节省存储空间,但编、解码需要相应程序或硬件来处理,需要占用一定的MCU资源。当然,压缩程度与显示质量是相关的,压缩程度越高,损失程度也相对大一些。 那么如何来验证其JPEG解码功能呢? 首先你需要准备一个如图1所示的迷你型SD卡,然后将一幅JPG格式的图像文件更名为image.jpg并存放到SD卡中。 图1 迷你型SD卡 接着启动工程文件STM32Cube_FW_F7_V1.4.0\Projects\STM32F769I-Discovery\Examples\JPEG\JPEG_DecodingUsingFs_DMA\MDK-ARM\Project.uvprojx 经编译后,将其下载到开发板上就可见到如图2的显示效果。 图2 JPEG解码显示效果 那么是否对任何规格的JPG文件都能进行正常显示呢? 回答是也不尽然,因为要收到显示屏的分辨率限定,图2显示的是320*240的图片,对于800*472的图片,其显示效果如图3所示。 当图片规格超出800*472的分辨率呢?经测试其显示效果如图4所示,虽然其显示效果是不成功的。由此说明,该例程在超出其显示范围时是不具裁剪处理功能的,只能在选择图片时就预加防犯。 图3 满屏显示 图4 超规格显示 |
谢楼主分享
多谢支持!!!
我最近在捣鼓这个 硬件解码 jpg 的,但是实现 横竖屏显示 总是不成功,不知道具体该修改哪里啊 ???