一、准备工作
有一个已经移植好lvgl平台的项目工程。
移植平台:eclipse <注意:其他平台方法类似>
二、资源链接
lvgl的png组件源码链接:https://github.com/lvgl/lv_lib_png
三、开始移植
1、新建lvgl_components文件夹,将lv_lib_png拷贝到lvgl_components文件夹下。
2、修改lodepng.h文件,将#define LV_PNG_USE_LV_FILESYSTEM 0改为#define LV_PNG_USE_LV_FILESYSTEM 1
3、修改lodepng.c的lodepng_filesize函数,见截图中的红框框。
这里有个疑问:
lv_fs_tell函数命名时对应的f_tell,即用于得到文件位置指针当前位置相对于文件首的偏移字节数,而并非时获取文件大小,但是这里获取文件大小却偏偏是用的这个函数 ,一开始我以为是要获取文件剩余字节数(lvgl采用帧缓存方式的原因),但是并没有成功获取到我的png文件数据,后来我干脆改成了lv_fs_size函数来获取文件大小,于是就成功了。