VC绘图中CPaintDC类和CRect类等涉及到的实际选中区域大小

VC绘图中CPaintDC类和CRect类等涉及到的实际选中区域大小

作者: gadflycq     日期:2008-08-04

一、VC中在当前窗口中绘图涉及到的坐标系

VC绘图中CPaintDC类和CRect类等涉及到的实际选中区域大小 - 雾荷 - gadflycq 的博客

二、CPaintDC类中的LineTo等函数实际绘图区域

      LineTo(x,y)函数从当前点画一条直线到坐标为(x,y)的点。具体精确到每一个象素则实际上是从当前点(包括当前点)画到坐标为(x,y)之前的一个象素点,并不包括(x,y)这一点本身。例如:

CPaintDC dc;

dc.MoveTo(50,50);

dc.LineTo(100,50);   //实际直线是从坐标为(50,50)象素到坐标为(99,50)的象素点

如下图:

VC绘图中CPaintDC类和CRect类等涉及到的实际选中区域大小 - 雾荷 - gadflycq 的博客

       再如:

dc.MoveTo(50,50);

dc.LineTo(50,100);   //实际直线是从坐标为(50,50)象素到坐标为(50,99)的象素点

dc.MoveTo(50,50);

dc.LineTo(100,100);   //实际直线是从坐标为(50,50)象素到坐标为(99,99)的象素点

三、CRect类中的SetRect函数实际选中区域

      SetRect(x1,y1,x2,y2)函数选中当前窗口中自左上角坐标为(x1,y1)到右下角坐标为(x2,y2)的区域。这个区域具体精确到每一个象素则实际上是包括最左上角坐标为(x1,y1)的象素到右下角坐标为(x2-1,y2-1)的象素之间的矩形区域。

如下图所示,SetRect(x,y,x+4,y+2)函数实际选中的象素区域是除去最下边一行象素和最右边一列象素后的矩形区域。再如SetRect(x,y,x+1,y+1)选中的区域就只有(x,y)这一个象素点;而SetRect(x1,y,x2,y) 和SetRect(x,y1,x,y2)将不会选中任何区域。

VC绘图中CPaintDC类和CRect类等涉及到的实际选中区域大小 - 雾荷 - gadflycq 的博客
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值