我試圖在C#的WPF中製作一個非常非常簡單的繪製項目。除了繪製三角形外,我幾乎可以完成所有工作。我無法弄清楚創建三角形所需的數學。在鼠標拖動的WPF中繪製三角形
我有這樣的代碼繪製矩形和圓形:
case "Rectangle":
case "Ellipse":
var x = Math.Min(pos.X, mm.startPoint.X);
var y = Math.Min(pos.Y, mm.startPoint.Y);
var width = Math.Max(pos.X, mm.startPoint.X) - x;
var height = Math.Max(pos.Y, mm.startPoint.Y) - y;
mm.shapeObj.Width = width;
mm.shapeObj.Height = height;
Canvas.SetLeft(mm.shapeObj, x);
Canvas.SetTop(mm.shapeObj, y);
break;
我將它添加到畫布的孩子在其他地方。此代碼允許我單擊畫布並拖動鼠標來調整矩形或橢圓的大小。
我希望能做一些類似的三角形。爲了簡單起見,我只希望用戶能夠點擊屏幕並拖出等邊三角形。我想這樣做,用戶只需點擊三次即可創建三角形,但由於項目編碼的方式,這比聽起來要困難得多。但是,如果沒有任何方法可以計算我正在創建的三角形,則可以通過三次點擊使其工作。
那麼,你需要什麼?三個頂點的座標?起點是什麼?三角形的中心還是其中一個頂點? – ChronosMOT