自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳解MTK特效制作方法

移動開發(fā)
MTK特效制作方法是本文要介紹的內(nèi)容,主要是來了解并學(xué)習(xí)MTK的應(yīng)用使用方法,具體內(nèi)容的實現(xiàn)來看本文詳解。

MTK特效制作方法是本文要介紹的內(nèi)容,主要是來了解并學(xué)習(xí)MTK的應(yīng)用使用方法,具體內(nèi)容的實現(xiàn)來看本文詳解。

在WIN圖像編程或者FLASH制作過程中,百頁窗是最簡單也是人們最常表演的特效.了解了核心算法,也就可以很容易的使用在MTK的屏幕切換中。

  1. for(i=0;i  
  2. {  
  3. my_gdi_layer_bitblt(Transition_Effect_layer,i*(UI_device_width/frame_num),0,  
  4. g_step_w,UI_device_height,bg_layer,i*(UI_device_width/frame_num),0);  

變量frame_num;是百葉窗的頁數(shù),Transition_Effect_layer是特效層,bg_layer是新窗口的層.核心函數(shù)在于這個層的拷貝函數(shù).有關(guān)這個函數(shù)的代碼,功能和用法,有興趣的朋友可以參考我的另一篇專門介紹層拷貝的函數(shù)的文章.

對于MTK平臺來說,菜單和屏幕特效曾經(jīng)在很長的一段時間里,影響甚遠。

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

這里介紹一種不同于前幾天日志所載之方法的另一種方法,就是合并圖層,其核心實現(xiàn)函數(shù)如下。

  1. voidmy_gdi_layer_copy(gdi_layer_struct*dst_layer,intdst_x,intdst_y,intwidth,intheight,  
  2. gdi_layer_struct*src_layer,intsrc_x,intsrc_y)  
  3. {  
  4. U16*dst_buf,*src_buf;  
  5. inti;  
  6. if(dst_x<0||dst_y<0||dst_x+width>dst_layer->width||dst_y+height>dst_layer->height)  
  7. {  
  8. if(dst_x<0)  
  9. {  
  10. width-=-dst_x;  
  11. src_x+=-dst_x;  
  12. dst_x=0;  
  13. }  
  14. if(dst_y<0)  
  15. {  
  16. height-=-dst_y;  
  17. src_y+=-dst_y;  
  18. dst_y=0;  
  19. }  
  20. if(dst_x+width>dst_layer->width)  
  21. {  
  22. width=dst_layer->width-dst_x;  
  23. }  
  24. if(dst_y+height>dst_layer->height)  
  25. {  
  26. height=dst_layer->height-dst_y;  
  27. }  
  28. }  
  29. if(src_x<0||src_y<0||src_x+width>src_layer->width||src_y+height>src_layer->height)  
  30. {  
  31. if(src_x<0)  
  32. {  
  33. width-=-src_x;  
  34. dst_x+=-src_x;  
  35. src_x=0;  
  36. }  
  37. if(src_y<0)  
  38. {  
  39. height-=-src_y;  
  40. dst_y+=-src_y;  
  41. src_y=0;  
  42. }  
  43. if(src_x+width>src_layer->width)  
  44. {  
  45. width=src_layer->width-src_x;  
  46. }  
  47. if(src_y+height>src_layer->height)  
  48. {  
  49. height=src_layer->height-src_y;  
  50. }  
  51. }  
  52. if(width<=0||height<=0)  
  53. return;  
  54. dst_buf=(U16*)dst_layer->buf_ptr+dst_y*dst_layer->width+dst_x;  
  55. src_buf=(U16*)src_layer->buf_ptr+src_y*src_layer->width+src_x;  
  56. for(i=0;i  
  57. {  
  58. memcpy(dst_buf,src_buf,width*2);  
  59. dst_buf+=dst_layer->width;  
  60. src_buf+=src_layer->width;  
  61. }  

有興趣的朋友可以自己利用該函數(shù)研發(fā)各種各樣的變化效果。

這個函數(shù),加上我前一段時間提供的另一種方法,大致可以制作二十種左右的效果。

小結(jié):詳解MTK特效制作方法的內(nèi)容介紹萬能了,希望通過MTK應(yīng)用內(nèi)容的學(xué)習(xí)能對你有所幫助。

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2009-06-10 16:32:45

MyEclipseEclipse綠色版

2015-06-11 09:59:41

jquery翻譯jquery插件制作

2011-07-20 16:03:48

iPhone PXL 安裝包

2010-08-17 10:48:12

Div CSS實例

2010-06-29 09:55:41

嵌入式Linux文件系統(tǒng)

2011-04-26 16:29:48

噴墨打印墨盒噴打堵頭

2009-09-15 09:23:35

初級linuxLinuxlinu操作系統(tǒng)x后門

2017-11-13 13:06:32

表情包草圖表情

2011-09-05 17:35:18

MTK啟動過程RTOS

2011-09-06 09:26:03

2017-12-24 22:52:49

微信小程序圣誕

2011-09-05 19:02:45

MTK系統(tǒng)字符串

2011-08-31 10:20:26

MTK驅(qū)動開發(fā)

2011-08-30 16:02:10

MTK開發(fā)環(huán)境

2011-08-31 10:37:06

MTK開發(fā)入門

2010-10-08 14:04:10

JavaScript網(wǎng)

2011-08-30 16:32:41

MTK開發(fā)環(huán)境

2011-09-05 17:27:13

MTK驅(qū)動調(diào)試GPIO

2011-08-31 10:23:40

MTK平臺列表控件

2012-05-24 11:03:55

HTML5
點贊
收藏

51CTO技術(shù)棧公眾號