MTK特效製作的方法,層複製

2021-05-22 16:56:47 字數 1030 閱讀 5752

對於mtk平台來說,選單和螢幕特效曾經在很長的一段時間裡,影響甚遠。

但對於其設計過程和方法,由於各種各樣的原因,很少有人提及。

這裡介紹一種不同於前幾天日誌所載之方法的另一種方法,就是合併圖層,其核心實現函式如下。

void my_gdi_layer_copy(gdi_layer_struct* dst_layer, int dst_x, int dst_y, int width, int height,

gdi_layer_struct* src_layer, int src_x, int src_y)

if (dst_y < 0)

if (dst_x + width > dst_layer->width)

if (dst_y + height > dst_layer->height)

}if (src_x < 0 || src_y < 0 || src_x + width > src_layer->width || src_y + height > src_layer->height)

if (src_y < 0)

if (src_x + width > src_layer->width)

if (src_y + height > src_layer->height)

}if (width <= 0 || height <= 0)

return;

dst_buf = (u16 *)dst_layer->buf_ptr + dst_y * dst_layer->width + dst_x;

src_buf = (u16 *)src_layer->buf_ptr + src_y * src_layer->width + src_x;

for (i = 0; i < height; i ++)

}有興趣的朋友可以自己利用該函式研發各種各樣的變化效果。

這個函式,加上我前一段時間提供的另一種方法,大致可以製作二十種左右的效果。

另一種MTK特效製作的方法,層複製

對於mtk平台來說,選單和螢幕特效曾經在很長的一段時間裡,影響甚遠。但對於其設計過程和方法,由於各種各樣的原因,很少有人提及。這裡介紹一種不同於前幾天日誌所載之方法的另一種方法,就是合併圖層,其核心實現函式如下。void my gdi layer copy gdi layer struct dst ...

MTK一些特殊特效的製作

使用刷屏函式可以製作簡單的特效,但特效方方正正,中矩而不中規,過於單調.使用拷屏函式可以做許多單靠刷屏無法實現的函式,但要製作三維特效,不規則區域的特效,這些方法就有些不夠使用了.更複雜的特效,一是使用3d模,二是使用數學函式.當然前提是你必須對lcd layer struct層的定義十分熟悉,對d...

MTK 層的應用

gui buffer getcurrguibuffer scr id x 設定視窗不帶狀態列 entry full screen 開啟多層 gdi layer multi layer enable buf ptr med alloc ext mem gdi lcd width gdi lcd hei...