mtk 画图基础知识

mtk 画图基础知识

ID:7273481

大小:33.50 KB

页数:3页

时间:2018-02-10

mtk 画图基础知识_第1页
mtk 画图基础知识_第2页
mtk 画图基础知识_第3页
资源描述:

《mtk 画图基础知识》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、1.gdi_layer_clear()----将整个层刷成单一颜色(层激活后要立即执行)。2.gdi_layer_set_source_key()-----将某一颜色设为层的通透色,在层合并的时候,系统会自动将层与通透色相同的颜色忽略掉(就是说这一点上看到的是底下层的颜色)gdi_layer_set_source_key(TRUE,GDI_COLOR_BLUE);3.gdi_layer_create(20,20,136,130,&my_layer);----用来创建层,其前四个参数指出层的位置及大小(位置

2、是以实际屏幕左上角为原点的),最后一个参数时刚创建的层句柄地址,用以返回所创建的层。(要注意一点的是,应为创建层时系统要为其分配动态内存空间,而系统保留的内存一般只够创建一个UI_device_width*UI_device_height大小的层,所以如果调用gdi_layer_create时内存不足系统就会ASSERT。解决的办法是使用函数gdi_layer_create_using_outside_memeory,即自己申请内存,然后作为参数传进去创建层。)4.gdi_layer_set_active

3、(my_layer);----任何时刻有且只能有一个层处于激活状态,所有的绘画函数都是默认画到这个层中(激活层中),所以想要在层上绘画必须先将其激活。创建层并不会自动激活,需要手动将其激活。不过,由于在多层的处理中需要在各个层之间切换激活,所以我们经常用到的是gdi_layer_push_and_set_active(gdi_handlehandle),此函数会把当前的激活层入栈而激活参数层,等到下次需要激活栈中的层时,只需要用函数gdi_layer_pop_and_restore_active()激活就

4、可以了。5.gdi_layer_get_base_handle(&base_layer);----获取基础层gdi_layer_set_active(base_layer);//主动将基础层还原为激活状态gui_BLT_double_buffer(0,0,UI_device_width-1,UI_device_height-1);6.gui_BLT_double_buffer()----用来合并层,但在使用之前先得用gdi_layer_set_blt_layer(base_layer,my_laye,NU

5、LL,NULL);指明是哪几个层需要合并,函数gui_BLT_double_buffer能接受四个层句柄,也就是说我们系统同一时刻最多能合并四个层(当然创建的层可以不止这个数)。另外要注意参数的顺序,第一个传入的层是放在最底下的,然后依次往上码。也可以直接用函数gdi_layer_blt_(base_layer,my_laye,NULL,NULL,0,0,UI_device_width-1,UI_device_height-1);进行图层合并。效果一样。7.gdi_layer_set_clip(40,25

6、,100,100);---所谓剪切,就是在层中设一个限制区域,只有在这个区域中的绘画才是有效的,否则就会被自动忽略。剪切特效有两个特点:1,每个层一定有而且只能有一个剪切区域。2,剪切区域一经设置,永久生效。所有剪切区域用完后最后用gdi_layer_reset_clip还原(如不还原则有可能什么东西都画不上来)。8.gdi_layer_set_opacity(TRUE,128);第一个参数指明要不要开启半透明效果,第二个参数是透明度的取值,范围从0至255,值越小表示透明度越高,当取值为0时就会完全被透

7、掉,255即完全不透明。9.gdi_layer_free(my_layer);---创建层需要为其分配内层空间,所以层用完后也要手动将其释放(切记一定要释放,否则别的程序就无法创建层了):10.gui_lock_double_buffer();和gui_unlock_double_buffer();锁屏11.gdi_layer_clear_background(GDI_COLOR_RED);//把背景全刷成红色12.剪切区的使用:使用顺序:gui_push_clip();//保存剪切区gui_set_cl

8、ip(0,0,MEEPOMENU_TEMP_LAYER_WIDTH-1,MEEPOMENU_TEMP_LAYER_HEIGHT-1);//设置剪切区gui_pop_clip();//回复剪切区代码使用样例:gui_lock_double_buffer();//锁屏gui_push_clip();//保存当前剪切区gdi_layer_push_and_set_active(MeepoMenu_temp_layer_prev);/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。