(それはあまりにも高価なようだ):
point = new System.Windows.Point(point.X * scale, point.Y * scale);
をしかし、あなたはあなたのコメントで述べた「しかし、それは不快な方法である」、なぜ拡張子を作ってみませんか?その後
static class Extentions
{
public static System.Windows.Point Scale(this System.Windows.Point point, float scale)
{
return new System.Windows.Point(point.X * scale, point.Y * scale);
}
}
次のように拡張子を呼び出す:ちょうどそれが動作するはずです、あなたのプロジェクトのコードにExtentions
クラスを挿入
point = point.Scale(2f);
。
編集:X上のフォローアップとして
... 'sのコメント。ライン:
return new System.Windows.Point(point.X * scale, point.Y * scale);
はと交換することができます。
point.X *= scale;
point.T *= scale;
return point;
私はこのことができます願っています。
point.Xとpoint.Yを使用し、それを複数使用する必要があります。 –
しかし、それは不快な方法です。多分別の解決策がありますか? (スケールマトリックスの使用を除く) – LmTinyToon
拡張メソッドを使用できます。それを拡張し、乗算のための独自の方法を書く –