国产精品无码一区二区在线,办公室激情呻吟无码A片漫画,影音先锋 av天堂,欧洲女人牲交性开放视频

首頁 > 技術(shù)支持 > 應(yīng)用與案例 > 正文
第十講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:圖像運(yùn)算 作者:BW.SU   發(fā)表日期:2024-01-17   來源:菱致電子   瀏覽:
目錄
第六講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:顯示文字:Part2.外接字庫
第七講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:顯示文字:Part3.自建字庫
第八講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:顯示圖片
第九講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:認(rèn)識(shí)顯存并進(jìn)行讀、寫、復(fù)制
第十講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:圖像運(yùn)算
第十一講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:播放avi視頻
第十二講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 如何打包bin檔
第十三講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 bin檔的燒錄方法


常用的圖像運(yùn)算主要包括:復(fù)制、去底色、單色位圖延展上色、淡入淡出這些功能,下面逐一進(jìn)行介紹如何使用:

一、圖像復(fù)制

API函數(shù)如下,_Chroma表示透明色剔除功能:

void BTE_Memory_Copy(unsigned long S0_Addr,unsigned short S0_W,unsigned short XS0,unsigned short YS0,unsigned long S1_Addr,unsigned short S1_W,unsigned short XS1,unsigned short YS1,unsigned long Des_Addr,unsigned short Des_W, unsigned short XDes,unsigned short YDes,unsigned int ROP_Code,unsigned short X_W,unsigned short Y_H);
void BTE_Memory_Copy_Chroma_key(unsigned long S0_Addr,unsigned short S0_W,unsigned short XS0,unsigned short YS0,unsigned long Des_Addr,unsigned short Des_W, unsigned short XDes,unsigned short YDes,unsigned long Background_color,unsigned short X_W,unsigned short Y_H);


RA8889的代碼是透明開放的,我們可以逐層進(jìn)去看實(shí)際算法,也可以查看具體的寄存器操作,初步接觸瑞佑的芯片可以先用用API即可,有興趣的話可以進(jìn)入底層查看代碼,相當(dāng)靈活。

我們進(jìn)入一個(gè)API函數(shù)代碼看看:

void BTE_Memory_Copy(
    unsigned long S0_Addr // Start address of Source 0
    ,
    unsigned short S0_W // image width of Source 0 (recommend = canvas image width)
    ,
    unsigned short XS0 // coordinate X of Source 0
    ,
    unsigned short YS0 // coordinate Y of Source 0
    ,
    unsigned long S1_Addr // Start address of Source 1
    ,
    unsigned short S1_W // image width of Source 1 (recommend = canvas image width)
    ,
    unsigned short XS1 // coordinate X of Source 1
    ,
    unsigned short YS1 // coordinate Y of Source 1
    ,
    unsigned long Des_Addr // start address of Destination
    ,
    unsigned short Des_W // image width of Destination (recommend = canvas image width)
    ,
    unsigned short XDes // coordinate X of Destination
    ,
    unsigned short YDes // coordinate Y of Destination
    ,
    unsigned int ROP_Code
    /*ROP_Code :
       0000b  0(Blackness)
       0001b  ~S0!E~S1 or ~(S0+S1)
       0010b  ~S0!ES1
       0011b  ~S0
       0100b  S0!E~S1
       0101b  ~S1
       0110b  S0^S1
       0111b  ~S0 + ~S1 or ~(S0 + S1)
       1000b  S0!ES1
       1001b  ~(S0^S1)
       1010b  S1
       1011b  ~S0+S1
       1100b  S0
       1101b  S0+~S1
       1110b  S0+S1
       1111b  1(whiteness)*/
    ,
    unsigned short X_W // X_W : Width of BTE Window
    ,
    unsigned short Y_H // Y_H : Length of BTE Window
)
{
    BTE_S0_Memory_Start_Address(S0_Addr);
    BTE_S0_Image_Width(S0_W);
    BTE_S0_Window_Start_XY(XS0, YS0);

    BTE_S1_Memory_Start_Address(S1_Addr);
    BTE_S1_Image_Width(S1_W);
    BTE_S1_Window_Start_XY(XS1, YS1);

    BTE_Destination_Memory_Start_Address(Des_Addr);
    BTE_Destination_Image_Width(Des_W);
    BTE_Destination_Window_Start_XY(XDes, YDes);

    BTE_ROP_Code(ROP_Code);
    BTE_Operation_Code(0x02); // BTE Operation: Memory copy (move) with ROP.
    BTE_Window_Size(X_W, Y_H);
    BTE_Enable();
    Check_BTE_Busy();
}

瑞佑的API是可以從函數(shù)名推測(cè)其功能的,有些函數(shù)名稱包含了參數(shù)信息,跟據(jù)參數(shù)名稱就可判斷參數(shù)功能,具體的參數(shù)在API函數(shù)都有作了詳細(xì)說明,實(shí)際寫代碼時(shí)可以再進(jìn)入函數(shù)查詢。

針對(duì)BTE_Memory_Copy這個(gè)函數(shù),參數(shù)可分為五個(gè)部分,參考下方圖解說明:


所有圖像操作API函數(shù)都包括S0、S1和Des三部份。比如BTE_Memory_Copy_Chroma_key相比BTE_Memory_Copy只是換了一個(gè)參數(shù)Background_color,這個(gè)參數(shù)作用是復(fù)制時(shí)同時(shí)剔除這個(gè)背景顏色,其它功能都相近了。


二、圖像延展

圖像延展指的是把1bpp圖像延展為16bpp圖像。1bpp圖片高度不限,寬度須為8的倍數(shù)。

當(dāng)我們將1bpp寫入顯存時(shí),實(shí)際顯示出來圖像看起來水平方向壓扁了一樣。通過BTE_Memory_Copy_ColorExpansion這個(gè)函數(shù)轉(zhuǎn)換,數(shù)據(jù)為1轉(zhuǎn)為前景色,數(shù)據(jù)為0會(huì)轉(zhuǎn)為背景色,如果換作BTE_Memory_Copy_ColorExpansion_Chroma_key函數(shù),則只將數(shù)據(jù)1轉(zhuǎn)換為前景色,數(shù)據(jù)0不處理,即為透明色。這個(gè)功能在我們做圖標(biāo)、數(shù)字表盤是相當(dāng)有用的功能!

圖形延展API函數(shù):

void BTE_Memory_Copy_ColorExpansion(unsigned long S0_Addr,unsigned short S0_W,unsigned short XS0,unsigned short YS0,unsigned long Des_Addr,unsigned short Des_W, unsigned short XDes,unsigned short YDes,unsigned short X_W,unsigned short Y_H,unsigned long Foreground_color,unsigned long Background_color);
void BTE_Memory_Copy_ColorExpansion_Chroma_key(unsigned long S0_Addr,unsigned short S0_W,unsigned short XS0,unsigned short YS0,unsigned long Des_Addr,unsigned short Des_W, unsigned short XDes,unsigned short YDes,unsigned short X_W,unsigned short Y_H,unsigned long Foreground_color);


圖形延展實(shí)際效果:


三、淡入淡出

淡入淡出是通過RA8889的硬件加速功能實(shí)現(xiàn)的,通過控制 alpha 值即可控制兩張圖片的明淡效果,這種功能如果采用單片機(jī)進(jìn)行軟件處理,那會(huì)占用相當(dāng)大的資源,很難實(shí)用,而通過RA8889/RA8876可輕松實(shí)現(xiàn)該功能。

淡入淡出API函數(shù):

void BTE_Alpha_Blending_Picture_Mode(unsigned long S0_Addr,unsigned short S0_W,unsigned short XS0,unsigned short YS0,unsigned long S1_Addr,unsigned short S1_W,unsigned short XS1,unsigned short YS1,unsigned long Des_Addr,unsigned short Des_W, unsigned short XDes,unsigned short YDes,unsigned short X_W,unsigned short Y_H,unsigned char alpha);



淡入淡出實(shí)例演示:
https://live.csdn.net/v/359248

 

第十講 THE END


分享到:

相關(guān)熱詞搜索:RA8889 RA8876 單片機(jī) 驅(qū)動(dòng) 彩屏

上一篇:第九講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:認(rèn)識(shí)顯存
下一篇:第十一講 單片機(jī)驅(qū)動(dòng)彩色液晶屏 控制RA8889軟件:播放avi視頻

>>延伸閱讀:0

  • · 如何解決MCU與RA8889等液晶控制芯片的SPI通信問題 [2020-03-04]
  • · RA8889配套上位機(jī)使用簡介 [2020-09-01]
  • · 介紹一顆51單片機(jī)就可以進(jìn)行視頻解碼的芯片方案1366x768 [2020-09-07]
  • · RA88xx系列對(duì)顯存直接讀寫點(diǎn)的方法 [2020-09-10]
  • · NAND FLASH的調(diào)用 [2020-09-14]