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应用内容的学习能对你有所帮助。