详解MTK特效制作方法

移动开发
MTK特效制作方法是本文要介绍的内容,主要是来了解并学习MTK的应用使用方法,具体内容的实现来看本文详解。

MTK特效制作方法是本文要介绍的内容,主要是来了解并学习MTK的应用使用方法,具体内容的实现来看本文详解。

在WIN图像编程或者FLASH制作过程中,百页窗是最简单也是人们最常表演的特效.了解了核心算法,也就可以很容易的使用在MTK的屏幕切换中。

for(i=0;i  
{  
my_gdi_layer_bitblt(Transition_Effect_layer,i*(UI_device_width/frame_num),0,  
g_step_w,UI_device_height,bg_layer,i*(UI_device_width/frame_num),0);  

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

变量frame_num;是百叶窗的页数,Transition_Effect_layer是特效层,bg_layer是新窗口的层.核心函数在于这个层的拷贝函数.有关这个函数的代码,功能和用法,有兴趣的朋友可以参考我的另一篇专门介绍层拷贝的函数的文章.

对于MTK平台来说,菜单和屏幕特效曾经在很长的一段时间里,影响甚远。

但对于其设计过程和方法,由于各种各样的原因,很少有人提及。

这里介绍一种不同于前几天日志所载之方法的另一种方法,就是合并图层,其核心实现函数如下。

voidmy_gdi_layer_copy(gdi_layer_struct*dst_layer,intdst_x,intdst_y,intwidth,intheight,  
gdi_layer_struct*src_layer,intsrc_x,intsrc_y)  
{  
U16*dst_buf,*src_buf;  
inti;  
if(dst_x<0||dst_y<0||dst_x+width>dst_layer->width||dst_y+height>dst_layer->height)  
{  
if(dst_x<0)  
{  
width-=-dst_x;  
src_x+=-dst_x;  
dst_x=0;  
}  
if(dst_y<0)  
{  
height-=-dst_y;  
src_y+=-dst_y;  
dst_y=0;  
}  
if(dst_x+width>dst_layer->width)  
{  
width=dst_layer->width-dst_x;  
}  
if(dst_y+height>dst_layer->height)  
{  
height=dst_layer->height-dst_y;  
}  
}  
if(src_x<0||src_y<0||src_x+width>src_layer->width||src_y+height>src_layer->height)  
{  
if(src_x<0)  
{  
width-=-src_x;  
dst_x+=-src_x;  
src_x=0;  
}  
if(src_y<0)  
{  
height-=-src_y;  
dst_y+=-src_y;  
src_y=0;  
}  
if(src_x+width>src_layer->width)  
{  
width=src_layer->width-src_x;  
}  
if(src_y+height>src_layer->height)  
{  
height=src_layer->height-src_y;  
}  
}  
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  
{  
memcpy(dst_buf,src_buf,width*2);  
dst_buf+=dst_layer->width;  
src_buf+=src_layer->width;  
}  

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.

有兴趣的朋友可以自己利用该函数研发各种各样的变化效果。

这个函数,加上我前一段时间提供的另一种方法,大致可以制作二十种左右的效果。

小结:详解MTK特效制作方法的内容介绍万能了,希望通过MTK应用内容的学习能对你有所帮助。

责任编辑:zhaolei 来源: 互联网
相关推荐

2009-06-10 16:32:45

MyEclipseEclipse绿色版

2011-07-20 16:03:48

iPhone PXL 安装包

2015-06-11 09:59:41

jquery翻译jquery插件制作

2010-08-17 10:48:12

Div CSS实例

2011-04-26 16:29:48

喷墨打印墨盒喷打堵头

2010-06-29 09:55:41

嵌入式Linux文件系统

2009-09-15 09:23:35

初级linuxLinuxlinu操作系统x后门

2017-11-13 13:06:32

表情包草图表情

2011-09-05 17:35:18

MTK启动过程RTOS

2011-09-06 09:26:03

2011-09-05 19:02:45

MTK系统字符串

2011-08-31 10:20:26

MTK驱动开发

2017-12-24 22:52:49

微信小程序圣诞

2011-08-30 16:02:10

MTK开发环境

2011-08-31 10:37:06

MTK开发入门

2011-08-30 16:32:41

MTK开发环境

2010-10-08 14:04:10

JavaScript网

2011-09-05 17:27:13

MTK驱动调试GPIO

2012-05-24 11:03:55

HTML5

2011-08-31 10:23:40

MTK平台列表控件
点赞
收藏

51CTO技术栈公众号