色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種嵌入式linux系統(tǒng)GUI的實(shí)現(xiàn)

          一種嵌入式linux系統(tǒng)GUI的實(shí)現(xiàn)

          作者: 時(shí)間:2010-05-10 來(lái)源:網(wǎng)絡(luò) 收藏

          0 引言

          本文引用地址:http://cafeforensic.com/article/151870.htm

          操作的快速發(fā)展,迫切需求一種簡(jiǎn)潔的人機(jī)交互界面,為此,本文介紹了如何在FrameBuffer基礎(chǔ)上設(shè)計(jì)自己的的簡(jiǎn)單方法。

          1 顯示原理

          1.1 顏色表示

          顏色是所有繪圖操作的基礎(chǔ)。16位的LCD屏一般需要2個(gè)字節(jié)來(lái)表示。16位RGB格式一般可分為RGB565與RGB5551兩種格式。其中RGB565格式如表1所列,而其RGB5551格式如表2所列。表中的R為紅色分量,G為綠色分量,B為藍(lán)色分量。

          由于顏色采用的是RGB565規(guī)則。因此?;绢伾?,即紅色、綠色、藍(lán)色按照RGB565規(guī)則可分別為0xf800、0x07e0、Ox001f。由此可見(jiàn),如果用十六進(jìn)制直接表示顏色會(huì)非常不便。目前,普遍為軟件工程師所接受的顏色表示方式為24位的RGB,其中R、G、B三個(gè)分量各占用一個(gè)字節(jié),范圍是0~255。因此,應(yīng)該為MIS軟件提供一個(gè)從24位RGB轉(zhuǎn)化為16RGB的接口。該接口用宏來(lái)的具體方式如下:

          #define RGB(r,g,b) (((r>>3)11)O((g>>2)5)O(b>>3))

          1.2 畫(huà)點(diǎn)操作

          圖形設(shè)備接口的最基本操作為畫(huà)點(diǎn),任何其它繪圖函數(shù)都是基于畫(huà)點(diǎn)來(lái)完成的。其原理是以屏的左上角第一個(gè)像素點(diǎn)為(0,0)點(diǎn),向右為x軸,向下為y軸建立坐標(biāo)系,只要提供某點(diǎn)的橫坐標(biāo)x,縱坐標(biāo)y和顏色值,就可以通過(guò)一定的算法找到(x,y)所表示的地址,然后將該地址上的2個(gè)字節(jié)替換為指定的顏色值。例如有一塊640×480×16的LCD,像素的首地址為0x40000000,那么,其中的第2行、第3列的像素位置如圖1所示。

          如果要把第2行、第3列的像素由原來(lái)的白色(0xfff)變?yōu)楹谏?0x0000)。那么,就可以根據(jù)下面的尋址方式找到地址:

          最終地址=首地址+y×2×屏的寬度+x×2

          其中,首地址表示第1行第1列像素所對(duì)應(yīng)的地址。由上式,該點(diǎn)的地址=0x40000000+2×2×0x280+3×2=0x40000A06。那么0x40000A06地址對(duì)應(yīng)的數(shù)據(jù)應(yīng)為十六位顏色的低字節(jié)部分,而0x40000A07地址對(duì)應(yīng)的數(shù)據(jù)應(yīng)為十六位顏色的高字節(jié)部分。

          linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉