Ich habe UserControl der Größe 300 * 200. und Rechteck der Größe 300 * 200.Drehen und skalieren Rechteck nach Benutzerkontrolle
graphics.DrawRectangle(Pens.Black, 0, 0, 300, 200);
Wenn ich Rechteck in UserControl um 30 Grad drehen, bekomme ich Rechteck gedreht, aber es ist überdimensioniert.
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();
}
Ich möchte Rechteck wie tatsächliches Ergebnis passen. Check Image here
Kann jemand eine Lösung darüber haben.
Danke.
Es ist genau das, was Sie bitten, es zu. es dreht sich. Wenn Sie es mit einem Stück Papier machen, werden Sie sehen, dass es dasselbe ist. Was Sie wollen, ist drehen UND skalieren ich nehme an. – Noctis
@Noctis - Haben Sie eine Lösung? –
Wenn Sie WPF verwenden, können Sie auch einfach eine 'LayoutTransform' anstelle einer' RenderTransform' verwenden, und erreichen Sie das gleiche, minus der Mathematik ... – Noctis