4. 圖片的顯示 在顯示屏的例程中,提供圖片的顯示函數(shù),那我們能否來顯示自己的圖片內(nèi)容呢? 1)色彩模式的辨識(shí) 在我們顯示自己的圖片前,首先要弄清楚它所使用的色彩模式及圖片格式等。 通過對例程中對色彩的定義,可以分析出它所使用的是16位色,色彩模式為R5G6B5。
1.jpg (7.85 KB, 下載次數(shù): 75)
下載附件
2020-8-10 17:13 上傳
2)制備圖片顯示的數(shù)據(jù) 例程中所提供的圖片顯示函數(shù)為: void LCD_PicDraw(u8 X_Location, u16Y_Location, u8 Height, u16 Width, uc8 *Pptr) { u32xid = 0; u32ImgAdds = 0; u32yid = 0; u32i = 0, j = 0, color = 0; xid= X_Location; yid= Y_Location; LCD_StarterSet(xid, yid); for(i = 0; i < Height; i++) // <240 { LCD_WriteRAMPrior(); for (j = 0; j < Width; j++) //<320 { ImgAdds = (i * Width * 2) + (j * 2); color = Pptr[ImgAdds] << 8 | (Pptr[ImgAdds + 1]); LCD_WriteRAM(color); } xid++; LCD_StarterSet(xid, yid); } } 由此看出,所顯示的圖片是以字節(jié)為單位進(jìn)行存儲(chǔ),每個(gè)像素點(diǎn)采用的色彩模式為R5G6B5。 為此我們要顯示一幅圖片可以用Image2Led軟件來把圖片轉(zhuǎn)換為數(shù)組數(shù)據(jù)來存儲(chǔ),其轉(zhuǎn)換前的參數(shù)設(shè)置如圖1所示,生成的文件如圖2所示。
2.jpg (34.04 KB, 下載次數(shù): 68)
下載附件
2020-8-10 17:13 上傳
圖1 參數(shù)設(shè)置
3.jpg (51.41 KB, 下載次數(shù): 67)
下載附件
2020-8-10 17:13 上傳
圖2 生成的文件 3)圖片的顯示 顯示圖3所示效果的主程序?yàn)椋?/font> int main(void) { LCD_Init(); LCD_Config(); LCD_Clear(0x2c5c); LCD_BackColorSet(0x2c5c); LCD_TextColorSet(Yellow); LCD_CharDisplayA(Line1,70, 0); LCD_CharDisplayA(Line1,90, 1); LCD_CharDisplayA(Line1,110, 2); LCD_CharDisplayA(Line1,130, 3); LCD_CharDisplayA(Line1,150, 4); LCD_PicDraw((100),(80), 68, 56, gImage_jsj); while (1); }
4.jpg (25.12 KB, 下載次數(shù): 63)
下載附件
2020-8-10 17:13 上傳
圖3 顯示效果 值得指出的是當(dāng)圖片較大時(shí),會(huì)出現(xiàn)異常現(xiàn)象,導(dǎo)致無法完成程序下載,見圖4和圖5所示。
5.jpg (15.01 KB, 下載次數(shù): 89)
下載附件
2020-8-10 17:13 上傳
圖4通過編譯
6.jpg (7.73 KB, 下載次數(shù): 81)
下載附件
2020-8-10 17:13 上傳
圖5下載時(shí)出現(xiàn)崩潰
|