1.通过操作嵌入式的触屏文件

2.打开lcd的文件显示图片

3.使用读取文件来读取照片的bmp,与获取屏幕的下x,y坐标 确定屏幕位置

代码实现:

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <linux/input.h>//输入设备的头文件int show_bmp(char *path_name,int *addr)
{//读取bmp图片int fd_bmp;fd_bmp = open(path_name,O_RDWR);if(fd_bmp < 0){printf("open bmp fail\n");// printf("path_name\n");// printf("path\n");return -1;}lseek(fd_bmp,54,SEEK_SET);//去掉头54个字节char buf[800*480*3];read(fd_bmp,buf,800*480*3);int x,y;int i = 0;for(y=0;y<480;y++){for(x=0;x<800;x++)*(addr+(479-y)*800+x) = buf[3*(y*800+x)]|buf[3*(y*800+x)+1]<<8|buf[3*(y*800+x)+2]<<16;}close(fd_bmp);return 0;
}int main()
{//打开触摸屏int fd_ts;fd_ts = open("/dev/input/event0",O_RDWR);if(fd_ts < 0){printf("open ts fail\n");return -1;}//打开LCDint fd_lcd;fd_lcd = open("/dev/fb0",O_RDWR);if(fd_lcd < 0){printf("open lcd fail\n");return -1;}//映射LCDint *addr;addr = mmap(NULL,800*480*4,PROT_READ|PROT_WRITE,MAP_SHARED,fd_lcd,0);if(addr == NULL){printf("mmap fail\n");return -1;}//将要显示的图片char *path[5] = {"a.bmp","b.bmp","c.bmp","d.bmp","e.bmp"};//默认第一张图片int i=0;show_bmp(path[i],addr);struct input_event ts;int x,y,x1,y1;while(1){   //取出按下去的值while(1){  read(fd_ts,&ts,sizeof(struct input_event));if(ts.type == EV_ABS&&ts.code == ABS_X){//printf("x=%d ",ts.value); //蓝色x = ts.value;    }if(ts.type == EV_ABS&&ts.code == ABS_Y){//printf("y=%d\n",ts.value); //蓝色y = ts.value;}if(ts.type == EV_KEY && ts.code == BTN_TOUCH&&ts.value==1){printf("按下: %d %d\n",x,y);break;}    }//取出松手后的值while(1){ read(fd_ts,&ts,sizeof(struct input_event));if(ts.type == EV_ABS&&ts.code == ABS_X){//printf("x=%d ",ts.value); //蓝色x1 = ts.value;   }if(ts.type == EV_ABS&&ts.code == ABS_Y){//printf("y=%d\n",ts.value); //蓝色y1 = ts.value;}if(ts.type == EV_KEY && ts.code == BTN_TOUCH&&ts.value==0){  printf("松手:%d %d\n",x1,y1);break;} }       //通过比较两者的差值来判断滑动的方向//右滑动if(x1-x > 50){i++; if (i>4) i=0;show_bmp(path[i],addr);printf("right\n");    }//左滑动if(x1-x < -50){i--;if (i<0) i=4;show_bmp(path[i],addr);printf("left\n");}    //下滑动if(y1-y > 50){printf("down\n");}//上滑动if(y1-y < -50){printf("up\n");}     }return 0;
}

嵌入式电子简单电子相册左右滑动相关推荐

  1. 基于嵌入式linux电子相册设计,用于LINUX或者嵌入式LINUX的电子相册程序,基于QT开发...

    用于LINUX或者嵌入式LINUX的电子相册程序,基于QT开发,包含源代码和编译好的可执行程序 linux_project\album\album.pro .............\.....\al ...

  2. 嵌入式电子软硬件开发编程培训面对面手把手包学会

    1学习内容 1.1电子常识.常见电子器件识别.功能介绍 1.2常见电路分析.数字电路设计.模拟电路设计 1.3PROTEL软件的使用.原理图设计.PCB设计 1.4常用仪器原理.操作 1.5 C语言介 ...

  3. 嵌入式Qt-控制硬件:滑动条控制RGB灯

    前面的几篇文章,介绍Qt例程,都是和硬件无关的,Windows平台和嵌入式平台都能运行. 本篇,来测试一下Qt界面控制嵌入式平台上的硬件,以野火i.MX6ULL板子上的RGB LED为例,实现Qt界面 ...

  4. 嵌入式linux音乐电子相册制作软件,ApowerShow – 超级轻便的在线照片音乐视频制作软件...

    有没有什么好用的照片视频制作软件呢?我大概对比了一下国内的其他软件,发现转场效果很多,但是需要自己去添加.它们的界面感觉有点繁琐,不是那么简洁. 其实除了使用国内的照片视频制作软件,你还可以使用Apo ...

  5. 防人人网客户端侧滑效果,简单实现Android滑动菜单特效

    人人网客户端,有一个侧滑效果不错,就是菜单(menu)和内容(content)可以实现侧滑. 首先,我们先来看一下最终的效果图,有图有真相,这样讲解起来,会更加的清楚. 程序运行时,我们刚开始看到的是 ...

  6. 毕业设计 嵌入式 电子时钟设计与实现

    文章目录 单片机电子时钟程序设计 实现效果 最后 单片机电子时钟程序设计 共用体除非必要,否则学长不推荐使用,枚举的用法比较简单,在本书19章的项目实践中有很好的示例,这节课我们先来练习一下结构体的使 ...

  7. 简单电子相册视频制作的步骤和要点

    1.套用AE模板,找到图片,按住alt将自己的图片拖拉到工作区,将原来的例图覆盖,在按alt+E制作影片,输出为avi格式的视频: 2.导出的视频为avi格式比较大,十几秒就有2G左右,用格式工厂转换 ...

  8. 模拟滑动android无障碍,Android无障碍简单开发-模拟滑动点击输入等

    似乎除了input type=password的edit text 其他所有的UI都可以进行操作.直接开始. 首先配置环境. 创建一个service 清单中代码如下,就算用AS直接创建,也需要配置一些 ...

  9. ARM嵌入式裸机简单使用

    基于正点原子 ALPHA开发板,长文预警,建议收藏用到之后再查看 文章目录 主频与时钟 I.MX6U系统时钟分析 7路PLL 时钟树 外设如何选择时钟 需要初始化的PLL和PFD I.MX6U系统配置 ...

最新文章

  1. 使用 OpenSSL 替代 Telnet
  2. ascii码对照表十六进制_ASCII
  3. 如何为windows服务添加安装程序(转)
  4. 2019年Vue学习路线图
  5. 【数据结构与算法】之深入解析“K个逆序对数组”的求解思路与算法示例
  6. 【英语学习】4000 Words 【V1】【U01】The Lion and the Rabbit
  7. Sitecore 8.2 页面架构设计:模板与组件
  8. 设计者模式之GOF23命令模式
  9. 安装和卸载程序时总是出现2502,2503错误代码的解决方法
  10. LINUX没有SVN,怎么知道哪些文件修改了
  11. 2015 年 5 月软考网络工程师真题与参考答案
  12. 摘要:HenCoder Android 自定义 View 1-7:属性动画 Property Animation(进阶篇)
  13. ftdi usb转串口驱动
  14. 关于软件开发的那些事(三):聊聊软件项目管理及成本核算
  15. MMD中的VMD文件格式详解
  16. Latex 摘要排版
  17. 经典网页三剑客html、css 和 JavaScript实现的导航网页
  18. linux离线日志分析工具,loganalyzer——日志分析工具
  19. Linux开机自启动挂盘以及进入紧急模式的解决办法
  20. AI行为树的基础运作原理

热门文章

  1. 北太天元——首款国产科学计算软件安装及简单测试
  2. 抚琴成一快-しゃぼん玉
  3. 瑞思拜!不愧是GitHub上最励志的计算机自学教程!
  4. 如何保存Win10自动更新的壁纸
  5. ubunto安装pycharm
  6. 超实用k8s集群资源清理命令
  7. AWR的Snapshots讲解
  8. 《商用密码-应用与安全性评估》学习2:商用密码应用与安全性评估政策法规
  9. IT行业个人职业发展
  10. Word / PowerPoint Alt + = 快捷键失效问题