Я не уверен, что вопрос слишком тривиальный, но мне нужно использовать следующую перегрузку метода Graphics.DrawImage:
Graphics.DrawImage
public void DrawImage( Image image, PointF[] destPoints, RectangleF srcRect, GraphicsUnit srcUnit, ImageAttributes imageAttr )
У меня есть RectangleF в качестве прямоугольника назначения, поэтому мне нужно преобразовать RectangleF в PointF[], но пример в MSDN немного смутил меня, потому что он использует только три точки определить параллелограмм.
RectangleF
PointF[]
Как я мог это сделать?
Заранее спасибо
Не могли бы вы создать его, просто создав массив?
(из памяти), где d - пункт назначения RectangleF:
destPoints[] = new PointF[4] { new PointF(d.Left, d.Top), new PointF(d.Right, d.Top), new PointF(d.Right, d.Bottom), new PointF(d.Left, d.Bottom) };
Хорошо, я нашел его в MSDN :
Параметр destPoints указывает три точки параллелограмма.Три структуры PointF представляют левый верхний , верхний правый и нижний левый углы параллелограммаЧетвертая точка экстраполируется из первых трех для формирования параллелограмма.
Таким образом, вы можете построить массив точек следующим образом:
private PointF[] GetPoints(RectangleF rectangle) { return new PointF[3] { new PointF(rectangle.Left, rectangle.Top), new PointF(rectangle.Right, rectangle.Top), new PointF(rectangle.Left, rectangle.Bottom) }; }