0

我有一个坐标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);

无法从“System.Drawing.RectangleF”转换为“System.Drawing.RectangleF[]”

我怎样才能解决这个问题?尝试了 and 的多种变体RectangleRectangleF没有一个可以一起工作..最终结果应该如下所示:

在此处输入图像描述

4

2 回答 2

2

您正在使用 s 的DrawRectangles()方法System.Drawing.Graphics,它需要一个 s 数组Rectangle

使用单数版本: DrawRectangle():

G.DrawRectangle(pen5, rect2); // Singular

MSDN为您提供了(很多)关于该Graphics课程的信息。

希望这可以帮助!

于 2016-06-20T23:39:28.837 回答
2

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

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

    G.DrawRectangles(pen5, new [] { rect2 });
    
于 2016-06-20T23:39:58.553 回答