资源描述:
《实验四绘制图形和显示图片.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、•实验四绘制图形和显示图片一、实验目的:掌握在Symbian上绘制图形和显示图片二、主要内容:v屏幕绘图函数介绍v直接在屏幕上绘图v显示位图或SVG图v特殊效果绘图三、实验内容:1.直接在屏幕上绘图:voidCGraphicExamContainer::Draw(constTRect&aRect)const{CWindowGc&gc=SystemGc();//清空窗口上的内容gc.SetPenStyle(CGraphicsContext::ENullPen);gc.SetBrushColor(K
2、RgbGray);gc.SetBrushStyle(CGraphicsContext::ESolidBrush);gc.DrawRect(aRect);//绘制图形gc.SetPenStyle(CGraphicsContext::ESolidPen);gc.SetPenSize(TSize(3,3));gc.SetPenColor(KRgbBlack);gc.DrawEllipse(aRect);}2.显示位图或矢量图:v打包图片Ø打包位图资源ü在mmp文件中进行位图资源的打包STARTBITM
3、APgraphic_bmp.mbmHEADERTARGETPATHsystemappsgraphicsSOURCEPATH..picturebmpSOURCEc12image1.bmpSOURCEc12image2.bmpSOURCE1image2_mask.bmpENDØ打包SVG图资源ü在*.mk文件中进行SVG图资源的打包ifeq(WINS,$(findstringWINS,$(PLATFORM)))ZDIR=$(EPOCROOT)epoc32release$(PLATFOR
4、M)$(CFG)ZelseZDIR=$(EPOCROOT)epoc32datazendifTARGETDIR=$(ZDIR)RESOURCEAPPSHEADERDIR=$(EPOCROOT)epoc32includeICONTARGETFILENAME=$(TARGETDIR)graphic_svg.mifHEADERFILENAME=$(HEADERDIR)graphic_svg.mbg……RESOURCE:mifconv$(ICONTARGETFILENAME)/h$(HE
5、ADERFILENAME)/c8,1..picturesvgsound.svgØ加载位图CFbsBitmap*iBackgroundImage;//加载位图_LIT(KBitmapPath,"\resource\apps\graphic_bmp.mbm");TFileNamebitmapFile(KBitmapPath);User::LeaveIfError(CompleteWithAppPath(bitmapFile));iBackgroundImage=iEikonEnv->C
6、reateBitmapL(bitmapFile,EMbmGraphic_bmpImage1);Ø加载SVG图CFbsBitmap*iSoundSvg;//加载svg矢量图_LIT(KSvgPath,"\resource\apps\graphic_svg.mif");TFileNamesvgFile(KSvgPath);User::LeaveIfError(CompleteWithAppPath(svgFile));AknIconUtils::CreateIconL(iSoundSvg,iS
7、oundSvgMask,svgFile,EMbmGraphic_svgSound,EMbmGraphic_svgSound_mask);//iSoundSvg=AknIconUtils::CreateIconL(svgFile,EMbmGraphic_svgSound);AknIconUtils::SetSize(iSoundSvg,TSize(50,50),EAspectRatioNotPreserved);AknIconUtils::SetSize(iSoundSvgMask,TSize(5
8、0,50),EAspectRatioNotPreserved);v直接显示图片//绘制客户区背景//gc.BitBlt(Rect().iTl,iBackgroundImage);gc.DrawBitmap(aRect,iBackgroundImage);v透明显示图片//绘制透明位图TSizesize=iImage2->SizeInPixels();TRectsourceRect(TPoint(0,0),size);ptPos.iX+=size.iWidth;gc.BitBltMasked(pt