C# 如何将矩形转换为绘图用的点F[]?
我不确定这个问题是否太琐碎,但我需要使用Graphics.DrawImage方法的重载: 我有一个矩形作为目标矩形,所以我需要将矩形转换为点F[],但是这个有点让我困惑,因为它只使用三个点来定义平行四边形 我怎么做呢C# 如何将矩形转换为绘图用的点F[]?,c#,.net,system.drawing,drawing2d,C#,.net,System.drawing,Drawing2d,我不确定这个问题是否太琐碎,但我需要使用Graphics.DrawImage方法的重载: 我有一个矩形作为目标矩形,所以我需要将矩形转换为点F[],但是这个有点让我困惑,因为它只使用三个点来定义平行四边形 我怎么做呢 提前感谢您不能通过构建数组来创建它吗 从内存中,d是目标矩形F: destPoints[] = new PointF[4] { new PointF(d.Left, d.Top), new PointF(d.Right, d.Top), new PointF(d.Right, d.
提前感谢您不能通过构建数组来创建它吗 从内存中,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) };
你不能仅仅通过构造数组来创建它吗 从内存中,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) };
好的,我在下面的
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)
};
}
好的,我在下面的
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)
};
}
哇,甚至没有注意到顶部、底部、左侧、右侧的属性。如果你需要经常这样做,我会为RectangleF编写一个ToPoints扩展方法来轻松重用它。哇,甚至没有注意到Top、Bottom、Left、Right属性。那就行了如果你需要经常这么做,我会为RectangleF编写一个ToPoints扩展方法以便于重用。他们使用三个点的原因是DrawImage方法基于其他三个点计算第四个点以确保有效的平行图。他们使用三个点的原因是DrawImage方法基于其他三个点计算第四个点以确保有效的平行图。