關於LCD以及BMP和RGB565

2021-06-12 15:03:10 字數 1413 閱讀 2432

這次學習s3c2440裸機驅動lcd時,由於以前工作時接觸過這方面內容,對於引數配置現在還是可以確定的,就簡單熟悉了一下。

這次做這個實驗了,就把它深入一下,就深入了解了bmp,以及為什麼要首選bmp去顯示。bmp分為1位,2位,4位,8位,16位,24位32痊。這次實驗中用的是16位。

bpp

1bpp

2bpp

4bpp

8bpp

16bpp

24bpp色單色

4級灰度

16色256色

16k色

16m色

經過測試,要想正確顯示影象要使用圖和lcd顯示模式是一樣的。這裡lcd顯示模式是16pp,影象也是16bpp的bmp轉換成c**才可以。否則會顯示不正常,具體表現為:乙個音色的向日葵轉換成c**在16bpp的lcd上顯示為多塊小向日葵。如下:

如果是4bpp的是這樣:

還有8bpp的:

如果把剛才那個單色的儲存為24位的,然後是能夠正常顯示的如下:

也通過將乙個彩色的小向日葵儲存的點陣圖儲存為各種位數的點陣圖發現彩色度也是不同的也有了乙個超驗的認識。

將這個彩色bmp點陣圖儲存為jpg格式時由原來的300多k,變為了30多k,怪不得說bmp不適合在網際網路上傳輸呢!jpg一下子能壓縮這麼小。最想實現的就是對jpg的解碼 了。

對於jpg解碼要學習sd卡讀寫或者flash的讀寫後再做實驗。

1.ok6410裸機bmp解碼 

2.jpg轉bmp(使用libjpeg)

3.jpeg壓縮原理 

還有乙個問題要記下,為什麼要用rgb565而不用rgb888呢?

在(這裡)找到了答案:

在我們的計算機中,影象是以rgb888顯示的,24點陣圖每個畫素儲存了32bit的資料,即rgb888+alpha,alpha就是半透明……

但是對於真彩的影象而言,肉眼在16bit的時候已經難以分辨了,因此,有些時候,可以講rgb888轉換為rgb565來儲存,減少了儲存器的容量的同時,降低了資料量;在後端顯示的時候,再次把rgb565轉換為rgb888,實現資料寬度的匹配!!

關於 和 優先順序以及使用

關鍵在於熟練掌握操作符的優先順序和 的使用方法 p p 1 此處 為間接訪問,p指向的位址內容 1後的值賦給p指向的位址 p 這裡 和 為同一優先順序,p先和 結合 右移p 是先使用p的值,後p的值 1 p 和 p p 1的區別是後者是p指向的位址的值 1,前者是p的位址 1,所有後者 即單獨的 p...

關於Lucene以及索引和搜尋的流程

lucene的普及和成功的背後是因為它的簡單。因此,你不需要深入理解lucene的資訊索引和檢索工作方面的知識就可以開始使用。lucene提供了簡單但是強大的核心api去實現全文索引和檢索,你只需要掌握少數的類就能將lucene整合到應用中。剛接觸lucene的人可能會誤認為lucene是乙個檔案搜...

關於i 和 i以及左值,右值

今天無意之間看到了帖子上有人說 i 5 不合法 i 5 合法首先對於i 的實現是 int temp temp i i i 1 return temp 而 i的實現是 i i 1 return i 所以對於我們提出來的問題已經能得到解決了 再囉嗦幾句關於i 和 i的效率問題 按上面分析來說,i的效率是...