http://msdn.microsoft.com/en-us/library/system.drawing.graphics.drawrectangle.aspx
FillRectangle,DrawRectangle,FillElipse和DrawEllipse都可以采用4个Float(或“Single”)参数:x,y,width,height。但是DrawRectangle是唯一不会使用RectangleF的。
我想知道是否有人知道这是为什么。看起来他们似乎只是忘了超载它。
答案 0 :(得分:13)
嗯,确实看起来对我来说也是一个遗漏。
有趣的是,DrawRectangles有一个重载,它将RectangleF []数组作为参数。
所以我想如果需要你可以使用数组大小为1。
答案 1 :(得分:1)
根据Andy的回答,扩展名应如下所示
public static class GraphicsExtensions
{
public static void DrawRectangle(this Graphics g, Pen pen, RectangleF rect)
{
g.DrawRectangles(pen, new[] { rect });
}
}
答案 2 :(得分:0)
根据Andy的回答,这种简单的扩展方法使生活更轻松。
using System.Drawing;
public static class GraphicsExtensions
{
public static void DrawRectangle(this Graphics g, Pen pen, RectangleF rect) =>
g.DrawRectangle(pen, rect.X, rect.Y, rect.Width, rect.Height);
}
答案 3 :(得分:0)