在线等待:单文档中画图的坐标问题
我在View.cpp的OnDraw()中使用了以下代码:
CClientDC ddc(this);
//设置映射模式
ddc.SetMapMode(MM_ANISOTROPIC);
//窗口左上角坐标
ddc.SetWindowOrg(-3000,1500);
//窗口度量(右下坐标)
ddc.SetWindowExt(6000,-3000);
//获得用户区矩形
CRect rc;
GetClientRect(rc);
//视口左上角坐标,度量
ddc.SetViewportOrg(0,0);
ddc.SetViewportExt(rc.Width(),rc.Height());
//创建画笔
CPen pen(PS_SOLID,1,RGB(0,0,255)),* PPen;
PPen=ddc.SelectObject(&pen);
//画线
ddc.MoveTo(-3000,0);
ddc.LineTo(3000,0);
ddc.MoveTo(0,1500);
ddc.LineTo(0,-1500);
//恢复画笔
ddc.SelectObject(PPen);
也就是在视中画了一个坐标,但是在工具条按钮的响应函数中使用以上代码重新设置映射模式时,坐标位置发生了改变,这是为什么?怎么避免?
我想要的是两次的设置都和第一次一样.
CClientDC ddc(this);
//设置映射模式
ddc.SetMapMode(MM_ANISOTROPIC);
//窗口左上角坐标
ddc.SetWindowOrg(-3000,1500);
//窗口度量(右下坐标)
ddc.SetWindowExt(6000,-3000);
//获得用户区矩形
CRect rc;
GetClientRect(rc);
//视口左上角坐标,度量
ddc.SetViewportOrg(0,0);
ddc.SetViewportExt(rc.Width(),rc.Height());
//创建画笔
CPen pen(PS_SOLID,1,RGB(0,0,255)),* PPen;
PPen=ddc.SelectObject(&pen);
//画线
ddc.MoveTo(-3000,0);
ddc.LineTo(3000,0);
ddc.MoveTo(0,1500);
ddc.LineTo(0,-1500);
//恢复画笔
ddc.SelectObject(PPen);
也就是在视中画了一个坐标,但是在工具条按钮的响应函数中使用以上代码重新设置映射模式时,坐标位置发生了改变,这是为什么?怎么避免?
我想要的是两次的设置都和第一次一样.
...全文
相关推荐
MFC单文档画图程序
在这个"**MFC单文档画图程序**"中,我们主要关注的是如何利用MFC框架来实现一个基础的绘图应用,包括图形的选中、反选、移动和删除等功能。
基于QT的多文档与单文档画图程序设计与实现
自定义是实现高级图形功能的基础,如可拖拽节点、带手柄的矩形、贝塞尔曲线等。要在 QGraphicsItem 上实现拖拽绘制功能,最直接的方式是继承 QGraphicsItem 并重写其鼠标事件处理函数。以下是一个可拖拽矩形项的简化实现:public:protected:private:前面已在中定义信号。
MFC—单文档画图
MFC—单文档画图"这个主题,主要涉及的是如何在MFC的单文档界面(Single Document Interface, SDI)下实现画图功能,并且支持通过用户交互来添加和删除图形。
三维坐标画图
本篇文章将深入探讨如何利用OpenGL进行三维坐标画图,包括改变材质、视角以及颜色和灯光的调整。首先,我们要理解OpenGL的三维坐标系统。
MFC单文档画图(直线矩形有注释)
**矩形绘制**- `Rectangle(left, top, right, bottom)`:在指定的坐标范围内画一个矩形。这里的参数分别是矩形左上角和右下角的坐标。


