资源描述:
《Visual C++大学教程 教学课件 作者 冯博琴 第9章 文字与图形处理技术.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第9章文字与图形处理技术9.1图形设备接口GDI是微软公司提供的一组绘图函数,通常称之为GDI函数。使用这些函数可以绘制各种图形。9.1.1设备上下文介绍设备上下文的英文全称是DeviceContext,简称为DC。设备上下文是用来绘制图形的逻辑设备,编程人员可以在该设备上绘制直线、曲线和立方体等各式各样的几何图案及在设备上输出文字。9.1.2熟悉使用GDI对象1.CPenCPen类封装了Windows的画笔对象。画笔对象主要用于绘制线条,通过画笔对象,可以设置绘制线条的宽度、颜色、风格等信息。(1)CreatePen方法CreatePen方法用于动态创建一个画笔对象
2、。语法:BOOLCreatePen(intnPenStyle,intnWidth,COLORREFcrColor);BOOLCreatePen(intnPenStyle,intnWidth,constLOGBRUSH*pLogBrush,intnStyleCount=0,constDWORD*lpStyle=NULL);(2)CreatePenIndirect方法CreatePenIndirect方法根据LOGPEN结构信息直接创建画笔。语法:BOOLCreatePenIndirect(LPLOGPENlpLogPen);2.CBrushCBrush类(画刷)用来填充
3、诸如多边形、椭圆和路径等图形内部的位图形式的像素。(1)CreateSolidBrush方法CreateSolidBrush方法用指定的颜色创建画刷。语法:BOOLCreateSolidBrush(COLORREFcrColor);(2)CreateHatchBrush方法CreateHatchBrush方法用于创建阴影画刷。语法:BOOLCreateHatchBrush(intnIndex,COLORREFcrColor);(3)CreateBrushIndirect方法CreateBrushIndirect方法使用LOGBRUSH结构信息直接创建画刷。语法:BOO
4、LCreateBrushIndirect(constLOGBRUSH*lpLogBrush);(4)CreatePatternBrush方法CreatePatternBrush方法用于创建一个位图画刷。语法:BOOLCreatePatternBrush(CBitmap*pBitmap);3.CFontCFont类(字体)是一种具有某种风格和尺寸的所有字符的完整集合,它常常被当作资源存于磁盘中,其中有一些字体还依赖于某种设备。(1)CreateFontIndirect方法CreateFontIndirect方法利用LOGFONT结构信息直接创建字体对象。语法:BOOLC
5、reateFontIndirect(constLOGFONT*lpLogFont);(2)CreateFont方法CreateFont方法用于创建一个字体。语法:BOOLCreateFont(intnHeight,intnWidth,intnEscapement,intnOrientation,intnWeight,BYTEbItalic,BYTEbUnderline,BYTEcStrikeOut,BYTEnCharSet,BYTEnOutPrecision,BYTEnClipPrecision,BYTEnQuality,BYTEnPitchAndFamily,LPC
6、TSTRlpszFacename);(3)CreatePointFont方法CreatePointFont方法根据字体大小和字体名称创建字体。语法:BOOLCreatePointFont(intnPointSize,LPCTSTRlpszFaceName,CDC*pDC=NULL);(4)CreatePointFontIndirect方法CreatePointFontIndirect方法与CreateFontIndirect方法相同,利用LOGFONT结构信息直接创建字体对象。语法:BOOLCreatePointFontIndirect(constLOGFONT*lp
7、LogFont,CDC*pDC=NULL);(1)LoadBitmap方法LoadBitmap方法用于加载一个位图资源到位图对象上。语法:BOOLLoadBitmap(UINTnIDResource);BOOLLoadBitmap(LPCTSTRlpszResourceName);(2)LoadOEMBitmap方法LoadOEMBitmap方法用于加载预定义的Windows位图。语法:BOOLLoadOEMBitmap(UINTnIDBitmap);(3)LoadMappedBitmap方法LoadMappedBitmap方法用于加载位图资源,并且