当前位置:文档之家› MAPGIS图形显示输出及窗口操作剖析

MAPGIS图形显示输出及窗口操作剖析


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方法里分别在还原显示状 态、坐标点显示状态和弧段显示状态下显示打开 的工作区。
1.1 几种坐标的基本概念
( 1 )逻辑坐标<====>设备坐标: _LpToDp _DpToLp (2)窗口坐标<====>设备坐标: _WpToDp、_DpToWp (3)窗口坐标<====>逻辑坐标: _WpToLp、_LpToWp (4)窗口坐标<====>屏幕坐标: 不需要专门的函数。
1.2
3.2 窗口显示参数 窗口操作用到下面的窗口显示参数结构: typedef struct { double x0,y0; D_RECT frc; double r; }WIN_ORG;
3.3 窗口处理基本函数
_SetWinDispParam _GetWinDispRect _ResetWinDispRange _ResetWinDispRate _GetWinMapRange _ResetWinMapRange _OpenWindowRc _EnlargeWindow _ReduceWindow _RestoreWindow _PrevWindow _MoveWindow
2
图形显示输出基本函数
10、显示输出整个工作区: _DispPntArea, _DispLinArea, _DispRegArea 11、在用户坐标系下显示输出实体: _DispPnt, _DispLin, _DispReg
2
图形显示输出基本函数
13、基本绘图函数 : _Line _LineTo _MoveTo _Arc _Circle _CircleFill _PolyLine _PolyGon _Rect
结 束
显示比例r=s’/s
逻辑坐标系
设备坐标系
1.1 几种坐标的基本概念
y
(0,0) (x0,y0) S’ x’
S
(x0,y0) (0,0) 窗口设备坐标系 x y’ 显示比例r=s’/s 窗口坐标系
1.1 几种坐标的基本概念
(0,0) (x0,y0) x’ x
y’
y 显示比例r=1 屏幕坐标系 窗口坐标系
2
图形显示输出基本函数
6、设置特殊显示状态: _SetOriginalDisp _SetCoordPntDisp 7、颜色的锁定与解除: _LockColor, _UnLockColor, _GetLockState 8、绘图工具设置: _SetPen, _CleanPen _SetBrush, _CleanBrush _SetPenColor, _CleanPenColor _SetPenMode, _GetPenMode
调色板: 调色板是针对地图着色而设计的。 (_SetMyDCPalette) 笔: 定义了画笔的颜色、笔宽、模式等信息。 (_SetPen,_CleanPen) 刷子: 定义了刷子颜色、填充图案、笔宽、模式等 信息。(_SetBrush, _CleanBrush)
2 图形显示输出基本函数
1、显示对象句柄的获取和删除: _GetMyDC,_DeleteMyDC 2、设置显示对象图形模式 _SetMyDCMode 3、设置设备调色板 _SetMyDCPalette 4、显示参数的获取和设置: _SetDispParam, _GetDispParam 5、显示范围的获取和设置: _SetDispRect, _GetDispRect
2
图形显示输出基本函数
14、取符号数 _GetPatternNum, _GetLineStyleNum _GetColorNum, _GetSubGraphNum 15、取某线型的辅助线型数 _GetFltpNum 16、取子图的最小范围 _GetSubGraphRect 17、RGB对应的MAPGIS颜色阶 _FindNearColor 18、MAPGIS颜色阶对应的RGB值 _GetAColorRGBValue 19、MAPGIS颜色阶对应的CMYK值 _GetAColorCMYKValue
DC 、 HDC、 MyDC
DC、HDC:
设备描述表(DC)不仅描述了设备对象、设备对 象的属性以及图形显示模式;同时,还指向了一个实际的物理输出设备,包括设备名 称 、设备驱动程序 以及其他一些信息。
MyDC:
MAPGIS引入的一个新概念,类似于DC 、HDC。
1.3 显示模式、显示参数、显示范围
显示模式: 显示模式将决定最终的显示效果。(_SetMyDCMode) 显示参数: 通过对显示参数的设置,可实现地图的移动、放大、 缩小等操作。(_SetDispParam,_GetDispParam) 显示范围: 窗口所显示的地图的范围(SetDispRect, _GetDispRect)
1.4 还原显示、坐标点显示 还原显示: 显示图元的函数按模拟输出的标准显示,所用的 线型、图案等都显示出来。(_SetOriginalDisp) 坐标点显示: 显示图元的函数在图元的坐标点处显示一个小的 红十字,在编辑时可作为参考。(_SetCoordPntDisp)
3 • • • • • • • 3.1
3.2 3.3
窗口处理
窗口处理的主要作用
窗口显示参数 窗口处理基本函数
3.4
CGisView显示原理
3.1
窗口处理的主要作用
窗口处理函数的作用: 1 、用于优化窗口消息的处理效率,跟踪 记录窗口状态。当窗口处于非活动状态时,记录 窗口无效范围,并保存窗口被遮挡的画面,需要 时快速更新窗口显示内容。 2 、自动记录跟踪当前窗口所对应的用户 图形范围,完成图形坐标、设备坐标、窗口坐标 间的转换,自动实现对窗口图形的放大、缩小、 复位等操作。
1.5 调色板、笔、刷子
1.1 几种坐标的基本概念 1. 逻辑坐标: 是用户处理自己的图形实际所采用的坐标系。 2. 设备坐标: 是图形设备的坐标系。 3. 窗口坐标: 原点在指定窗口客户区左上角的坐标。 4. 屏幕坐标: 原点在屏幕作上角的坐标。
1.1 几种坐标的基本概念
y y’
S (x0,y0) (0,0) x S’ (0,0) x’
图形显示输出及窗口操作
主 要 内 容
1.图形显示输出的基本原理 2.图形显示输出基本函数 3.窗口处理
4.习题
1 显示输出的基本原理
图形显示输出的主要内容:
1.1 逻辑坐标、设备坐标、窗口坐标、屏幕坐标 1.2 DC 、 HDC、 MyDC
1.3 显示模式、显示参数、显示范围
1.4 还原显示、坐标点显示
相关主题