完成了图片显示,那动画显示也很好完成。因为动画也是由很多张图片组成的。这里以显示Gif动画为例。借助GIF动画分解软件GifSplitter把Gif动画分解成单个图像帧。然后修改图片尺寸,再用Image2Lcd把图片转换为数组。后面的操作就跟图片显示一样了。
GifSplitter分离Gif动画步骤:
(1)输入要显示的Gif动画;
(2)选择图片输出目录;
(3)分离动画。
分解完成后得到了组成Gif动画的12张图片。
由于STM32的flash空间有限,所以只选取前6张图片进行测试。
对生成图片的尺寸进行修改,再用Image2Lcd生成6个数组,将这6个数据依次写入显存并延时一小段时间,就能看到Gif动画的效果了。
#include "stm32f4xx.h"
#include "core_cm4.h"
#include "delay.h"
#include "ili9341.h"
#include "0.h"
#include "1.h"
#include "2.h"
#include "3.h"
#include "4.h"
#include "5.h"
int main()
{
ILI9341_Init();
while(1)
{
ILI9341_WriteMemory((u16 *)gImage_0,240*320);
Delay_ms(20);
ILI9341_WriteMemory((u16 *)gImage_1,240*320);
Delay_ms(20);
ILI9341_WriteMemory((u16 *)gImage_2,240*320);
Delay_ms(20);
ILI9341_WriteMemory((u16 *)gImage_3,240*320);
Delay_ms(20);
ILI9341_WriteMemory((u16 *)gImage_4,240*320);
Delay_ms(20);
ILI9341_WriteMemory((u16 *)gImage_5,240*320);
Delay_ms(20);
}
}