《MAPGIS图形显示输出及窗口操纵.ppt》由会员分享,可在线阅读,更多相关《MAPGIS图形显示输出及窗口操纵.ppt(24页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、图形显示输出及窗口操作,1.图形显示输出的基本原理,2.图形显示输出基本函数,3.窗口处理,4.习题,主 要 内 容,1 显示输出的基本原理,图形显示输出的主要内容: 1.1 逻辑坐标、设备坐标、窗口坐标、屏幕坐标 1.2 DC 、 HDC、 MyDC 1.3 显示模式、显示参数、显示范围 1.4 还原显示、坐标点显示 1.5 调色板、笔、刷子,1.1 几种坐标的基本概念,1. 逻辑坐标: 是用户处理自己的图形实际所采用的坐标系。 2. 设备坐标: 是图形设备的坐标系。 3. 窗口坐标: 原点在指定窗口客户区左上角的坐标。 4. 屏幕坐标: 原点在屏幕作上角的坐标。,y y S (x0,y0)
2、 S (0,0) x (0,0) x 显示比例r=s/s 逻辑坐标系 设备坐标系,1.1 几种坐标的基本概念,y (0,0) x (x0,y0) S S (x0,y0) (0,0) x y 显示比例r=s/s 窗口设备坐标系 窗口坐标系,1.1 几种坐标的基本概念,(0,0) x (x0,y0) x y y 显示比例r=1 屏幕坐标系 窗口坐标系,1.1 几种坐标的基本概念,( 1 )逻辑坐标设备坐标: _LpToDp _DpToLp (2)窗口坐标设备坐标: _WpToDp、_DpToWp (3)窗口坐标逻辑坐标: _WpToLp、_LpToWp (4)窗口坐标屏幕坐标: 不需要专门的函数。
3、,1.1 几种坐标的基本概念,1.2 DC 、 HDC、 MyDC,DC、HDC: 设备描述表(DC)不仅描述了设备对象、设备对象的属性以及图形显示模式;同时,还指向了一个实际的物理输出设备,包括设备名 称 、设备驱动程序以及其他一些信息。 MyDC: MAPGIS引入的一个新概念,类似于DC 、HDC。,1.3 显示模式、显示参数、显示范围,显示模式: 显示模式将决定最终的显示效果。(_SetMyDCMode) 显示参数: 通过对显示参数的设置,可实现地图的移动、放大、缩小等操作。(_SetDispParam,_GetDispParam) 显示范围: 窗口所显示的地图的范围(SetDispR
4、ect,_GetDispRect),1.4 还原显示、坐标点显示,还原显示: 显示图元的函数按模拟输出的标准显示,所用的线型、图案等都显示出来。(_SetOriginalDisp) 坐标点显示: 显示图元的函数在图元的坐标点处显示一个小的红十字,在编辑时可作为参考。(_SetCoordPntDisp),调色板: 调色板是针对地图着色而设计的。(_SetMyDCPalette) 笔: 定义了画笔的颜色、笔宽、模式等信息。(_SetPen,_CleanPen) 刷子: 定义了刷子颜色、填充图案、笔宽、模式等信息。(_SetBrush, _CleanBrush),2 图形显示输出基本函数,1、显示对
5、象句柄的获取和删除: _GetMyDC,_DeleteMyDC 2、设置显示对象图形模式 _SetMyDCMode 3、设置设备调色板 _SetMyDCPalette 4、显示参数的获取和设置: _SetDispParam, _GetDispParam 5、显示范围的获取和设置: _SetDispRect, _GetDispRect,2 图形显示输出基本函数,6、设置特殊显示状态: _SetOriginalDisp _SetCoordPntDisp 7、颜色的锁定与解除: _LockColor, _UnLockColor, _GetLockState 8、绘图工具设置: _SetPen, _C
6、leanPen _SetBrush, _CleanBrush _SetPenColor, _CleanPenColor _SetPenMode, _GetPenMode,10、显示输出整个工作区: _DispPntArea, _DispLinArea, _DispRegArea 11、在用户坐标系下显示输出实体: _DispPnt, _DispLin, _DispReg,2 图形显示输出基本函数,13、基本绘图函数 : _Line _LineTo _MoveTo _Arc _Circle _CircleFill _PolyLine _PolyGon _Rect,2 图形显示输出基本函数,14、
7、取符号数 _GetPatternNum, _GetLineStyleNum _GetColorNum, _GetSubGraphNum 15、取某线型的辅助线型数 _GetFltpNum 16、取子图的最小范围 _GetSubGraphRect 17、RGB对应的MAPGIS颜色阶 _FindNearColor 18、MAPGIS颜色阶对应的RGB值 _GetAColorRGBValue 19、MAPGIS颜色阶对应的CMYK值 _GetAColorCMYKValue,2 图形显示输出基本函数,3 窗口处理,3.1 窗口处理的主要作用 3.2窗口显示参数 3.3窗口处理基本函数 3.4 CGi
8、sView显示原理,3.1 窗口处理的主要作用,窗口处理函数的作用: 1、用于优化窗口消息的处理效率,跟踪记录窗口状态。当窗口处于非活动状态时,记录窗口无效范围,并保存窗口被遮挡的画面,需要时快速更新窗口显示内容。 2、自动记录跟踪当前窗口所对应的用户图形范围,完成图形坐标、设备坐标、窗口坐标间的转换,自动实现对窗口图形的放大、缩小、复位等操作。,3.2 窗口显示参数,窗口操作用到下面的窗口显示参数结构: typedef struct double x0,y0; D_RECT frc; double r; WIN_ORG;,3.3 窗口处理基本函数,_SetWinDispParam _GetW
9、inDispRect _ResetWinDispRange _ResetWinDispRate _GetWinMapRange _ResetWinMapRange _OpenWindowRc _EnlargeWindow _ReduceWindow _RestoreWindow _PrevWindow _MoveWindow,3.4 CGisView显示原理,1、将所有CView替换为CGisVew; 2、在C*View:OnDraw()函数最后加入 “CGisVew: OnDraw();”; 3、重载“CGisVew: _OwnerDraw(MyDc myDC);”函数;,4 习 题,1 理解窗口设备坐标和显示对象的概念。 2 理解显示范围、显示参数和窗口参数的含义。 3 了解图形显示的过程和窗口操作的原理。 4 将Ku6_1.wl线文件中ID大于100的线实体用红色显示。 5 在窗口客户区配合使用函数Line、LineTo和MoveTo画红色的不连续折线。 6 (选做)在EditView控件的基础上打开点、线、区文件,并在OwnerDraw方法里分别在还原显示状态、坐标点显示状态和弧段显示状态下显示打开的工作区。,结 束,
限制150内