有关逻辑坐标系统和备坐标系统的问题
我执行以下语句:
pDC->SetMapMode(MM_TEXT);
pDC->SetViewportOrg(100,100);
RECT rect;
rect.left=rect.top=0;
rect.bottom=rect.right=200;
pDC->DPtoLP(&rect);
CString str;
str.Format("left=%d,right=%d,top=%d,bottom=%d",rect.left,rect.right,rect.top,rect.bottom);
MessageBox(str);
结果输出为left=-100,right=100,bottom=100,top=-100.
但我从上面的代码可以看出我设定的设备坐标系统的原点为(100,100),也就是说设备坐标系统的原点在逻辑坐标原点的右下角(100,100)点处。
这时当我执行pDC->DPtoLP(&rect);时函数应该将rect由设备坐标系统的坐标转为逻辑坐标系统的坐标,这样照我的推断结果应该为left=100,right=300,bottom=300,top=100.
为什么我的推断与实际结果不符呢?请指教。
pDC->SetMapMode(MM_TEXT);
pDC->SetViewportOrg(100,100);
RECT rect;
rect.left=rect.top=0;
rect.bottom=rect.right=200;
pDC->DPtoLP(&rect);
CString str;
str.Format("left=%d,right=%d,top=%d,bottom=%d",rect.left,rect.right,rect.top,rect.bottom);
MessageBox(str);
结果输出为left=-100,right=100,bottom=100,top=-100.
但我从上面的代码可以看出我设定的设备坐标系统的原点为(100,100),也就是说设备坐标系统的原点在逻辑坐标原点的右下角(100,100)点处。
这时当我执行pDC->DPtoLP(&rect);时函数应该将rect由设备坐标系统的坐标转为逻辑坐标系统的坐标,这样照我的推断结果应该为left=100,right=300,bottom=300,top=100.
为什么我的推断与实际结果不符呢?请指教。
...全文
相关推荐
电路画图软件
相当好用的电子电路制作工具,上传与大家共同分享!!
C#实现的FTP客户端程序设计
在.NET框架中,System.Net命名空间提供了一系列的类,使得开发者能够通过编程实现网络通信。它包括用于处理Internet协议(如TCP/IP,UDP)的类,以及用于支持各种网络协议(包括HTTP, FTP等)的高级类。该命名空间是构建在托管代码上的一个抽象层,它封装了Windows Sockets API的复杂性,使得开发者能够专注于应用逻辑的实现。System.Net命名空间下还包含了许多用于控制网络资源访问权限、身份验证以及网络流的类。
C#实现的FTP自动上传工具源码解析
C#是一种类型安全的语言,它在程序运行之前就完成了大部分的类型检查工作。类型安全意味着可以减少运行时错误,并且更容易理解代码的意图。C#语言支持多种编程范式,包括面向对象、命令式、声明式、泛型和函数式编程。FTP(File Transfer Protocol)是文件传输协议,它是一种用于在网络上进行文件传输的标准协议。FTP协议提供了一种可靠的方式来在客户端和服务器之间传输文件,不管它们是在局域网还是广域网。FTP的工作原理基于客户端-服务器模型。
用画图软件绘制电路图
这是一篇运用画图软件制作电路图的论文,既实用又易懂的!
VC++开发的电路板画图设计软件源代码.rar
VC++开发的电路板画图设计软件源代码,可供学习参考


