如何将RectangleF转换为PointF[]进行绘图
本文关键字:绘图 PointF RectangleF 转换 | 更新日期: 2023-09-27 18:25:23
我不确定这个问题是否太琐碎,但我需要使用以下方法Graphics.DrawImage
:的重载
public void DrawImage(
Image image,
PointF[] destPoints,
RectangleF srcRect,
GraphicsUnit srcUnit,
ImageAttributes imageAttr
)
我有一个RectangleF
作为目标矩形,所以我需要将RectangleF
转换为PointF[]
,但MSDN中的例子让我有点困惑,因为它只使用三个点来定义平行四边形。
我该怎么做?
提前感谢
好的,我在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)
};
}
难道不能通过构造数组来创建它吗?
(来自内存)其中d是目的地矩形F:
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) };