资源描述:
《实验三 图形图像处理 指导书》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验三图形图像处理一、实验目的学会层、画布的操作方法,掌握基本图形、字符、图像的绘制方法。二、实验内容:(1)掌握基层和两层的使用方法(2)掌握画布的创建和使用方法(3)掌握基本图形、字符、图像的使用方法三、实验步骤:1.层的使用方法目的:(1)熟悉MTK图像系统的组成和基本概念(2)掌握MTK基层和两层的创建、删除和使用方法要求:(1)在基层中间显示字符,如HelloWorld,要求层是红边白底,字符为黑色(2)在基层和第二层上分别显示字符,如HelloWorld,要求基层是蓝边白底,字符黑色显示在中间;第
2、二层面积小于基层,绿边红底字符白色,两层字符不能遮挡。实验提示:(1)基层的使用l定义图层句柄数组VMINTlayer_hdl[1];l创建基层/*ceratebaselayerthathassamesizeasthescreen*/if(layer_hdl[0]==-1){layer_hdl[0]=vm_graphic_create_layer(0,0,vm_graphic_get_screen_width(),vm_graphic_get_screen_height(),-1);}l获取图层缓冲区/*ge
3、tthetargetbuffer*/buf=vm_graphic_get_layer_buffer(layer_hdl[0]);l绘制图形vm_gb2312_to_ucs2(s,50,"Hello,world!");w=vm_graphic_get_string_width(s);x=(vm_graphic_get_screen_width()-w)/2;y=(vm_graphic_get_screen_height()-vm_graphic_get_character_height())/2;/*fillt
4、hescreen*/vm_graphic_fill_rect(buf,0,0,vm_graphic_get_screen_width(),vm_graphic_get_screen_height(),VM_COLOR_WHITE,VM_COLOR_BLACK);/*drawtext*/vm_graphic_textout(buf,x,y,s,wstrlen(s),VM_COLOR_RED);l把层显示缓冲区的数据刷新到屏幕上/*flushthescreenwithdatainthebuffer*/vm_gra
5、phic_flush_layer(layer_hdl,1);l删除层caseVM_MSG_QUIT:if(layer_hdl[0]!=-1){vm_graphic_delete_layer(layer_hdl[0]);layer_hdl[0]=-1;}(2)两层的使用l定义图层句柄数组VMINTlayer_hdl[2];//图层句柄数组。VRE支持两层l创建基层/*ceratebaselayerthathassamesizeasthescreen*/if(layer_hdl[0]==-1){layer_hdl
6、[0]=vm_graphic_create_layer(0,0,g_nscrW,g_nscrH,-1);}l创建第二层//创建第二层if(layer_hdl[1]==-1){layer_hdl[1]=vm_graphic_create_layer(g_nscrW/5,g_nscrH/5,g_nscrW*3/5,g_nscrH/5,VM_COLOR_RED);}l获取基层缓冲,并在其上绘制图形/*getthetargetbuffer*/buf=vm_graphic_get_layer_buffer(layer_
7、hdl[0]);/*fillthescreen,蓝边白底*/vm_graphic_fill_rect(buf,0,0,vm_graphic_get_screen_width(),vm_graphic_get_screen_height(),VM_COLOR_BLUE,VM_COLOR_WHITE);/*drawtext*/vm_graphic_textout(buf,x,y,s,wstrlen(s),VM_COLOR_BLACK);l获取第二层缓冲,并在其上绘制图形//获取第二层缓冲buf=vm_graphi
8、c_get_layer_buffer(layer_hdl[1]);/*fillthescreen,绿边红底*/vm_graphic_fill_rect(buf,0,0,g_nscrW*3/5,g_nscrH/5,VM_COLOR_GREEN,VM_COLOR_RED);/*drawtext*/vm_graphic_textout(buf,0,0,s,wstrlen(s),VM_RGB(255,0,2