基于Linux+6818开发板实现普通电子相册翻页功能 您所在的位置:网站首页 暂停界面图片 基于Linux+6818开发板实现普通电子相册翻页功能

基于Linux+6818开发板实现普通电子相册翻页功能

2024-06-16 05:17| 来源: 网络整理| 查看: 265

更多资料请点击:我的目录 本篇仅用于记录自己所学知识及应用,代码仍可优化,仅供参考,如果发现有错误的地方,尽管留言于我,谢谢。

首先是外部进程传参,传进的是某目录文件的路径(绝对路径/相对路径)。接着打开目录文件,遍历目录内所有的文件,将后缀名为“.bmp”的普通文件全部找出来,并拼接保存它们的路径到双向循环链表里,一个节点存放一个bmp图片的路径。再通过触摸屏返回的坐标值进行逻辑判断,例如返回坐标值 < 400,触摸了左边的显示屏,我们应该让双向循环链表的当前节点 p 指向 p->prev节点,最后输出显示。

后续更新: 加上音频、视频后:基于ARM的LCD(800*480)触摸屏实现音频、视频播放、图像显示功能 加入百叶窗基本效果:LCD显示屏加入百叶窗特效显示BMP图片

#include #include #include #include #include #include #include #include #include #include #include #include int tsfd ;//触摸屏驱动 int dst; //显示屏驱动 //显示任意位置任意大小的BMP图片 bool showbmp(char *bmppath) { int w = 0; int h = 0; int src = open(bmppath , O_RDWR); if(src == -1) { printf("到头了!\n"); } lseek(src, 18 ,SEEK_SET); //获取BMP图片的宽w信息 read(src, &w, 4); lseek(src, 22 ,SEEK_SET); //获取BMP图片的高h信息 read(src, &h, 4); char bmpbuf[w*h*3]; int lcdbuf[w*h]; int tempbuf[w*h]; dst = open("/dev/fb0",O_RDWR); //打开显示屏驱动 if(dst == -1) { printf("显示屏打开失败!\n"); return -1; } lseek(src, 54, SEEK_SET); //跳过BMP图片头信息字节 int rubbish = (4-(w*3)%4)%4; //BMP图片字节不能被4整除时,加入的垃圾字节数 for(int i = 0; i prev->next = new; } int main(int argc,char **argv) { struct node *list = list_init();//初始化双向循环链表 DIR *dp = opendir(argv[1]); //打开目录文件argv[1] struct dirent *p; while(p = readdir(dp)) //遍历目录文件 { if(p->d_type == DT_REG) { if(strstr(p->d_name,".bmp")) //判断是否为.bmp文件 { struct node *new = newnode(p->d_name); //创建新节点 addnode(new,list); //插入新节点 } } } char buf[20]; struct node *head = list->next; int tx = 0,ty = 0; touch_open();//打开触摸屏 while(1) { get_xy(&tx, &ty);//获取触摸屏的坐标 if(ty > 190 && ty 700 && tx next; bzero(buf,20); sprintf(buf,"%s/%s",argv[1],head->data); } if(tx 0) //左翻 { //printf("你点击的坐标位置X坐标是:%d\n", tx); //printf("你点击的坐标位置Y坐标是:%d\n", ty); head = head->prev; bzero(buf,20); sprintf(buf,"%s/%s",argv[1],head->data); } showbmp("background.bmp");//开发板下,可执行文件目录下存放的背景图(可以使用绝对路径!) showbmp(buf); //显示BMP图片 } if(tx > 700 && ty


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有