007gif

一、开机动画的显示原理

1. 基本原理

一般电子产品在开机之后都会加深用户印象,一般开机之后都会播放一段开机动画(视频、GIF......),不管哪种采用形式,内部原理都是相同,都是利用人类的眼睛的视觉暂留效应实现的,可以让用户看到画面是动态的。

img

如果打算实现画面的动态显示则需要确保每秒钟在用户眼睛的前面连续播放若干帧图像,帧率至少是24HZ,也被称为帧刷新率 FPS ,作为开发者而言,需要准备大量的素材,本次就以开机动画为例,实现程序设计。

2.准备素材

img

img

img

此时可以看到生成的jpg图片的命名: Frame 0 .jpg 也就是编号范围是0 ~ 81

3.程序设计

int main(int argc,char *argv[])
{
    int lcd_fb=open("/dev/fb0",O_RDWR);
	  if(-1 ==lcd_fb){
		printf("LCD open error!\n");
		return -1;
	  }

	//对LCD内存映射
	lcd_mp=(int *)mmap(NULL,
		1024*600*4,
		PROT_READ | PROT_WRITE,
		MAP_SHARED,
		lcd_fb,
		0
		);

    //3.显示开机动画
	  char gif_path[128] ={0}; 
    while(1){
		for (int i = 0; i < 82; ++i){

			sprintf(gif_path,"./gif/Frame%d.jpg",i);  //构造jpg图片的路径
			read_JPEG_file (gif_path,0,0);			  //在LCD上显示
			usleep(1000000/60);						  //FPS = 60HZ

		}	
	  }

    munmap(lcd_mp,1024*600*4);
    close(lcd_fb);  
    return 0;
}

4.下载调试

注意:动态图的相关素材必须也传输到开发板程序中的素材的路径必须完整。

posted @ 2026-01-22 20:55  郭小胖  阅读(5)  评论(0)    收藏  举报