У меня есть 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