【发布时间】:2017-08-27 18:08:50
【问题描述】:
我有两个点,比如说一个矩形的左上角和右下角,在 C++ .Net 中。如何从 .net 中的这两点创建 System.Drawing.Rectangle 结构?这应该很简单,我错过了什么吗?
Rectangle 构造函数仅适用于给定的 Point 和 Size,并通过给出单独的整数值,我在这里不计算在内。给两分是不行的。
大小结构也不能以简单的方式从两点创建。没有定义从另一个点减去一个点,它应该给出一个大小,我看不到其他函数可以做到这一点。
所以我必须自己编写函数?它应该就在那里。
【问题讨论】:
-
如果你有左上角和右下角,你有矩形的尺寸。获取每个点的 x 和 y 坐标(您可能需要使用 getter),然后减去它们。另外请标记您的语言并说明您正在使用的图形库。
-
我当然可以手动执行此操作,但我经常需要它。它应该就在那里,.Net 中的 System.Drawing.Rectangle 是我知道的唯一一个似乎没有这个的矩形实现。好吧,我也最好使用双数格式,所以我只是在编写自己的类。有兴趣的可以分享一下。
-
只做一个函数,然后使用函数。一个伪构造函数解决了这个问题。
-
Emil 你能指向一个例子的链接吗?你有一个矩形,它需要两个点来构成一个矩形?因为我从来没有见过这样做的矩形示例(我见过减去两个点来制作一个矩形,但这可能是任何一种方式,这取决于您将点视为点还是二维向量)
-
@ScottChamerlain: System.Windows.Rect 结构可以由两个点或点和大小构成:
msdn.microsoft.com/en-us/library/…> 在 MFC RECT 结构中,您可以直接放置
Delphi TRect 类型也可以使用两个点进行构造:docwiki.embarcadero.com/Libraries/Tokyo/en/System.Types.TRect
标签: c++ .net rectangles system.drawing