我有UserControl的大小300 * 200。 和尺寸爲300 * 200的矩形。根據用戶控件旋轉和縮放矩形
graphics.DrawRectangle(Pens.Black, 0, 0, 300, 200);
當我在userControl中旋轉矩形30度,我得到旋轉矩形,但它是超大。
PointF center = new PointF(150,100);
graphics.FillRectangle(Brushes.Black, center.X, center.Y, 2, 2); // draw center point.
using (Matrix matrix = new Matrix())
{
matrix.RotateAt(30, center);
graphics.Transform = matrix;
graphics.DrawRectangle(Pens.Black, 0, 0, 300, 200);
graphics.ResetTransform();
}
我想合適的矩形像實際結果。 Check Image here
任何人都可以解決這個問題。
感謝。
它做的正是你要求它什麼。它旋轉。如果你用一張紙做,你會發現它是一樣的。你想要的是旋轉和規模我假設。 – Noctis
@Noctis - 你有任何解決方案嗎? –
如果你使用的是WPF,你也可以簡單地使用'LayoutTransform'而不是'RenderTransform',並且達到相同的結果,減去數學... – Noctis