2015-12-14 118 views
-6

我使用Windows visual studio 2015 winforms在面板上繪製矩形。 我從對象列表中獲取信息(磚塊)。我只是檢查旋轉的每塊磚:繪製一定角度的矩形

我的磚存在以下信息:

string ID; 
    PointF MiddlePoint; 
    float Length; 
    float Height; 
    float Rotation; 

創建具有學位的270分之90角的矩形。

if (a_BrickList[i].Rotation == 90 || a_BrickList[i].Rotation == 270) 
{ 
     UpperLeftPoint.X = Xorigin + (a_BrickList[i].MiddlePoint.X - (a_BrickList[i].Length/2) + panelOffset) * scale; 
     UpperLeftPoint.Y = Yorigin - (a_BrickList[i].MiddlePoint.Y + (a_BrickList[i].Height/2) + panelOffset) * scale; 
     rect = new RectangleF(UpperLeftPoint.X, UpperLeftPoint.Y, Length, Height); 
     GlueRectangles[i] = rect; 
} 

我已經添加了另一個if語句:

if (a_BrickList[i].Rotation != 0 && a_BrickList[i].Rotation != 180 && 
    a_BrickList[i].Rotation != 90 && a_BrickList[i].Rotation != 270) 

在這其中我想借鑑度的一定角度的矩形。但我無法找到有關rectanglerotateangle的任何信息。

那麼有沒有辦法繪製一個具有一定角度的矩形?

或者我只能通過計算矩形的4個點並在它們之間畫線來解決這個問題嗎?

+0

whick繪圖框架你使用? –

+0

你使用GDI +嗎?這真的不清楚。 – DavidG

+0

我使用visual studio 2015 – Bart

回答

1

這取決於您使用的繪圖環境。

例如,如果使用HTML5畫布,則可以旋轉畫布,繪製矩形,然後將畫布返回到原始位置,以獲得「旋轉」的矩形。

您應該查看您的環境文檔以獲取更多信息或提供問題的更多信息,以便我們爲您提供幫助。

+0

我正在使用visual studio 2015,winforms。 – Bart

+0

也許這可能有幫助? http://stackoverflow.com/questions/2163829/how-do-i-rotate-a-picture-in-c-sharp – Bardo

+1

@Bardo yes winforms中的「RotateTransform」與旋轉畫布的概念相同 –