久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6138|回復: 0
收起左側

linux+ARM6818開發板電子相冊源程序

[復制鏈接]
ID:668660 發表于 2019-12-19 20:21 | 顯示全部樓層 |閱讀模式
可以簡單的實現電子相冊的瀏覽圖片的功能,同時也可以通過往目標文件夾中添加圖片文件來瀏覽

1、linux下 一切皆是文件
    那么對于屏幕的操作也是文件操作 只不過這個文件是一個設備
   
    所以屏幕操作分為以下幾步:
    //第一步:打開
    //第二步:寫數據
    //第三步:關閉文件
2、屏幕介紹:
    800*480 32位真彩色
    800*480 表示片屏幕大小 單位是像素 480行 每一行 800個像素點
    32位真彩色 每一個像素點是由32位數據表示的
        對應4字節 分別為 a透明度 r red g green b blue
3、屏幕文件所在路徑
    /dev/fb0  
4、顏色對照表 是24位的沒有透明度
    顯示時將透明度補充為00 即可
   
5、bmp圖片簡介
    bmp圖片是windows下標準的位圖格式
    位圖就是顯示在屏幕像素上的點一位位數據表示出來 不經過任何壓縮算法 所以
    bmp圖片一般比較大
    800*480 32位圖 的大小為 800*480*4+54 個字節
   
    每一張bmp圖片都有54字節的文件頭 其決定文件的類型 大小 色深等信息  
    接下來我們看以下具體的內容:
        見圖片
   
        
作業:將項目中讀取文件列表 與今日內容整合  實現 自動循環播放 24位bmp圖
    請實現32位的bmp圖
6、通過觸摸屏切換顯示
    linux輸入子系統:
        linux下的輸入設備主要有: 鍵盤 鼠標 麥、寫字板、觸摸屏等等
        
        linux將所有的輸入設備歸于一個驅動設備文件管理 該設備被稱之為 事件文件  位于
            GEC210 位于 /dev/event0
            GEC6818 位于 /dev/input/event0
            
        在linux下獲取輸入事件其本質就是在輸入設備文件中讀取數據 而這個數據的格式由輸入子系統決定 本質就是一個結構體
            即struct input_event
            該結構體位于 linux/input.h頭文件下!
        結構體解析:
            struct input_event{
                struct timeval time; //事件觸發的時間
                _u16 type;
                    表示輸入事件的類型
                _u16 code;
                    表示輸入事件的數據即輸入事件類型的子集
                _s32 value; //值 子集對應的鍵值
            }
            
            type: 取值有以下幾個:
                #define EV_SYN  0x00 表示同步事件
                #define EV_KEY    0x01 表示按鍵事件  //鍵盤
                #define EV_REL    0x02 表示相對事件  //鼠標
                #define EV_ABS    0x03 表示絕對事件  //觸摸屏
               
            根據type的取值不同 code取值也不同
                如果type == EV_KEY
                    code 取值如下
                        KEY_A         按鍵A
                        KEY_B        按鍵B
                        ......
                如果type == EV_ABS
                    code取值如下:
                        #define ABS_X    0x00 表示觸摸屏x軸坐標
                        #define ABS_Y     0x01 表示觸摸屏y軸坐標
                        #define ABS_PRESSURE 0x18 表示觸摸點的壓力 用來判斷是按下還是離開
                                壓力值是一個量化值:
            對于value而言 type和code的值共同決定其值的含義:
                如果type == EV_ABS && code == ABS_x 則 value就是x軸的坐標
                如果type == EV_ABS && code == ABS_Y 則 value就是Y軸的坐標
                如果type == EV_ABS && code == ABS_PRESSURE 則 value就是壓力值的大小 value == 0 表示離開 value > 0表示按下
                如果type == EV_KEY && code == KEY_A 則value對應 按鍵鍵值 1 表示按下 0表示松開
            
            注意: 6818開發板將 壓力值歸為EV_KEY中    即0x01 中 壓力值的宏為 0x14a
               
        //第一步:打開觸摸屏
        //第二步:讀取數據
        //第三步:解析
        //第四步從第二步開始循環
                直到一次操作完位置
               
        思考: 怎么判斷一次操作的開始 當第一次value>0 就按下
                                結束 當第一次value == 0就是離開
                                
全部資料51hei下載地址:
項目電子相冊.zip (1.13 MB, 下載次數: 120)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一区二区三区一在线观看 | 久久久99精品免费观看 | 午夜羞羞 | 亚洲成人精品国产 | 天天干天天操天天看 | 精品久久香蕉国产线看观看亚洲 | 久久久久国产一区二区三区 | 欧美日韩高清一区二区三区 | 亚洲国产成人av | 日韩一区二区三区av | 一区二区三区在线免费观看视频 | 久久久久亚洲精品中文字幕 | 国产免费一区二区三区 | 亚洲 中文 欧美 | 精品久久中文 | 久久久久久亚洲精品 | 国产欧美精品 | 亚州精品天堂中文字幕 | 精品在线看 | 国产视频中文字幕 | www精品美女久久久tv | 日日射影院 | 综合婷婷 | 色爽女 | 国产精品久久久久久久久久久免费看 | 国产亚洲精品久久久久动 | 神马影院一区二区三区 | 黄色在线网站 | 国产精品久久久久久久久免费丝袜 | 天天曰夜夜 | 亚洲综合二区 | 国产第一页在线观看 | 国产精品一区二区久久久久 | 久久a久久 | 精品国产乱码久久久久久影片 | 欧美精品一区二区三区四区 在线 | 日韩中文在线观看 | 久久久久网站 | 亚洲成人网在线 | 国产精品免费一区二区三区四区 | 69性欧美高清影院 |