2017-08-27 101 views
0

我有兩點,比方說C++ .Net中矩形的左上角和右下角。如何從.net中的這兩點創建System.Drawing.Rectangle結構?這應該很簡單,我錯過了什麼?
矩形構造函數只適用於給定的點和大小,並給出單獨的整數值,這裏我沒有把它計算在內。通過給出兩點不起作用。
A尺寸strucure也不能從兩個點以簡單的方式創建。沒有定義從另一個點減去一個點,這應該給出一個大小,我看不到其他功能這樣做。
所以我必須自己寫這些功能?它應該在那裏。如何從兩點創建矩形?

+0

如果您有左上角和右下角,則您有矩形的尺寸。獲取每個點的x和y座標(您可能需要使用getters),並將其減去。還請標記您的語言並說出您正在使用的圖形庫。 – Carcigenicate

+0

當然,我可以手動做到這一點,但我經常需要它。它應該在那裏,.Net中的System.Drawing.Rectangle是我知道的唯一一個看起來沒有的矩形實現。 那麼,我也更好地使用雙數字格式,所以我只是寫我自己的類。如果有人感興趣,可以分享。 –

+0

只需製作一個功能,然後使用該功能。僞構造函數解決了這個問題。 – Carcigenicate

回答

0

您可以輕鬆地創建一個靜態方法,將您的兩個點轉換爲一個大小,然後讓它調用帶有點和大小的矩形構造函數。

這個答案是C#語法,但你應該很容易將它轉換爲C++/cli語法。

public static Rectangle GetRectangle(Point topLeft, Point bottomRight) 
{ 
    var size = new Size(topLeft.X-bottomRight.X, topLeft.Y-bottomRight.Y) 
    return new Rectangle(topLeft, size); 
} 
+0

謝謝。是的,它非常簡單,我應該馬上看到它。 –