提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
一个项目在mcu平台上显示图片,所以需要把png转换为bmp图片。
提示:以下是本篇文章正文内容,下面案例可供参考
一、使用macos的sips命令
macos下使用sips命令就可以轻松实现将png转换为bmp图片:
sips -s format bmp 1.png --out 1.bmp
二、发现问题
很快就发现了问题,对于小图片(比如24x32)的转换出来的bmp图片给到mcu可以直接使用,但对于大一点的图片(240x320)转换出来的bmp给到mcu却无法使用。
三、分析问题
通过对比转换后的小图片和大图片的bmp文件的信息头,发现大图片使用了RLE4压缩模式,而小图片没有使用压缩模式。可以推测sips工具是根据原始png文件的大小来自动决定转换后的bmp文件是否使用压缩模式的。
四、解决问题
查了sips的参数,没找到指定转换后的bmp使用何种压缩模式的相关参数。
后来搜索到magick这个工具可以实现此功能,于是先安装magick
brew install imagemagick
然后,将大图片的bmp文件转换为无压缩模式:
magick pic_240x320.bmp BMP3:pic_240x320_unc.bmp
成功,mcu上可以显示pic_240x320_unc.bmp这张大图片了。
总结
以上就是本篇所有内容,希望能帮助大家解决实际问题。