欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: linux+ARM6818開發(fā)板電子相冊源程序 [打印本頁]

作者: 烏蘇    時間: 2019-12-19 20:21
標題: linux+ARM6818開發(fā)板電子相冊源程序
可以簡單的實現(xiàn)電子相冊的瀏覽圖片的功能,同時也可以通過往目標文件夾中添加圖片文件來瀏覽

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






歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1