绘制 getbounds 矩形或 rectangleF?

Drawing getbounds rectangle or rectangleF?

我有一个 Listfloat 坐标,我正在尝试围绕先前绘制的线绘制一个矩形。

Graphics G = e.Graphics;    
Pen pen5 = new Pen(Color.DodgerBlue, 0.01f);
var rect2 =  new RectangleF();

GraphicsPath maliOkvir = new GraphicsPath();
maliOkvir.AddLine(((float)(odabraniSegment[0].startX)),
                   (float)(odabraniSegment[0].startY),
                   (float)(odabraniSegment[0].endX),
                   (float)(odabraniSegment[0].endY));

rect2 = maliOkvir.GetBounds();
G.DrawRectangle(pen5, rect2);

我在 rect2 部分遇到错误:

G.DrawRectangles(pen5, rect2);

Cannot convert from 'System.Drawing.RectangleF' to 'System.Drawing.RectangleF[]'

我该如何解决这个问题?尝试了 RectangleRectangleF 的多种变体,none 一起工作。最终结果应该是这样的:

您正在使用 System.Drawing.GraphicsDrawRectangles() 方法,它需要一个 Rectangle 数组。

使用单数形式:DrawRectangle():

G.DrawRectangle(pen5, rect2.Left, rect2.Top, rect2.Width, rect2.Height); // Singular

MSDN 为您提供(很多)关于 Graphics class.

的信息

希望对您有所帮助!

DrawRectangles 方法需要一个 RectangleRectangleF 对象数组,但您只传入一个项目。您应该:

  1. 切换到使用该方法的单数版本,即 DrawRectangle
  2. 传入一个数组:

    G.DrawRectangles(pen5, new [] { rect2 });