0

注意到一些奇怪的行为似乎违背了 C# GraphicsPath.AddLines 的观点。AddLines 是一系列连接的线段。以下代码似乎使这不正确:

        Bitmap BuildingBitmap = new Bitmap(MaxX - MinX, MaxY - MinY);
        Graphics BuildingGraphics = Graphics.FromImage(BuildingBitmap);
        BuildingGraphics.Clear(Color.Transparent);
        GraphicsPath BuildingShape = new GraphicsPath();
        BuildingShape.StartFigure();
        BuildingShape.AddLines(BuildingPointsArray);
        BuildingShape.CloseFigure();

        BuildingGraphics.DrawPath(new Pen(Color.Black, 1.5f), BuildingShape);

BuildingPointsArray 是以下点的数组

7 0
58 6
55 45
62 45
60 59
67 60
66 82
47 80
46 96
0 92
7 0

使用 Excel 散点图绘制此图显示建筑物形状正确,并且使用 excel 绘制线功能没有间隙。看起来我没有声誉,所以我不能发布图片:Here imgur 链接:Excel Graph http://i.imgur.com/aqSl2TC.png

然而,通过我的 png 输出,我们可以看到有两个差距:

AddLines png http://i.imgur.com/zgqD3YZ.png

关于为什么会这样的任何想法?我尝试增加线条粗细,因为我认为这可能是渲染问题。没运气。

4

1 回答 1

0

线路肯定是连接的,但似乎它们不太适合您的Bitmap.

做到这一点:

Bitmap BuildingBitmap = new Bitmap(MaxX - MinX + 1 , MaxY - MinY + 1);
于 2015-02-28T00:28:17.143 回答