2017-08-27 7 views
0

私は2つの点を持っています、C + +で、四角形の左上と右下隅を言うとしましょう。これらの2つの点からSystem.Drawing.Rectangle構造体を作成するにはどうすればよいですか?これは簡単なものでなければなりません。
Rectangleコンストラクタは与えられたPointとSizeでのみ動作し、別の整数値を与えることで動作しますが、ここではカウントしません。それは2つのポイントを与えることによって動作しません。
サイズ構造も簡単な方法で2つのポイントから作成することはできません。ある点を他の点から引くことは定義されていません。これはSizeを与えるべきであり、私はそれを行う他の関数を見ません。
それで、私は自分自身でそのための関数を書く必要がありますか?それはちょうどそこにあるはずです。2点から矩形を作成するにはどうすればよいですか?

+0

左上角と右下角がある場合は、長方形の寸法があります。各点のx座標とy座標を取得し(ゲッターを使う必要があるかもしれない)、それらを減算する。また、言語にタグを付け、使用しているグラフィックスライブラリを教えてください。 – Carcigenicate

+0

もちろん、私はこれを手動で行うことができますが、私はそれを非常に頻繁に必要とします。それはちょうどそこにあるはずですが、.NetのSystem.Drawing.Rectangleはこれを持たない唯一の矩形実装です。 私は自分のクラスを書いているので、ダブルナンバーフォーマットを使うのも良いです。誰かが興味があれば共有することができます。 –

+0

関数を作成し、関数を使用します。擬似コンストラクタはその問題を解決します。 – Carcigenicate

答えて

0

2点をサイズに変換し、ポイントとサイズを取る長方形のコンストラクタを呼び出す静的メソッドを簡単に作成できます。

この回答は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

ありがとう。はい、それはとても簡単です、私はこれをすぐに見たはずです。 –

関連する問題