关于CDC::Rectangle参数设定时一个不得解的问题

jusygg 2008-07-26 03:49:51
MSDN上说:
BOOL Rectangle(int x1,int y1,int x2,int y2);
x1——Specifies the x-coordinate of the upper-left corner of the rectangle (in logical units).

y1——Specifies the y-coordinate of the upper-left corner of the rectangle (in logical units).

x2——Specifies the x-coordinate of the lower-right corner of the rectangle (in logical units).

y2——Specifies the y-coordinate of the lower-right corner of the rectangle (in logical units).
那么画一个100*100的举行在MM_TEXT模式下正常应该是:
pDC->Rectangle(int x1=0,int y1=0,int x2=100,int y2=100);
但我用:
pDC->Rectangle(int x1=100,int y1=100,int x2=0,int y2=0);
还有
pDC->Rectangle(int x1=0,int y1=100,int x2=100,int y2=0);
都能画同样的矩形。不是说应该指定左上和右下角的横纵坐标吗?为什么用右下+左上 和 左下+右上 也可以呢?


...全文
385 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hiiishe 2008-07-31
  • 打赏
  • 举报
回复
它会自己把点放到正确的地方,你调试跟踪下,便知道了。
fescort 2008-07-30
  • 打赏
  • 举报
回复
up楼上
wowoandlyn 2008-07-28
  • 打赏
  • 举报
回复
不是说应该指定左上和右下角的横纵坐标吗?为什么用右下+左上 和 左下+右上 也可以呢?
莫非是用来应对那些左右颠倒,上下颠倒的人? ^_^
开个玩笑,应该有自动转换的吧,或者甚至不需要转换.因为两个点确定一个矩形,就像两点确定一条直线一样,正着表示与反着表示没有区别,正着绘制与反着绘制也没有区别.
jusygg 2008-07-26
  • 打赏
  • 举报
回复
难道是函数调用时自动做了转换了?
phisherr 2008-07-26
  • 打赏
  • 举报
回复
这没什么不好啊,反正两个点就确定一个矩形
frank51234 2008-07-26
  • 打赏
  • 举报
回复
都可以,只要是矩形的对角线两端点就可以

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧