XNA GraphicsPath.AddLines 似乎有差距

XNA GraphicsPath.AddLines seems to have gaps

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

        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 画线函数没有间隙。 看起来我没有名声所以我不能 post 图片:这里是 imgur 链接: Excel 图 http://i.imgur.com/aqSl2TC.png

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

添加线条 png http://i.imgur.com/zgqD3YZ.png

有没有想过为什么会这样?我试过增加线条粗细,因为我认为这可能是渲染问题。没运气。

这些线当然是相连的,但它们似乎不太适合你的Bitmap

做到这一点:

Bitmap BuildingBitmap = new Bitmap(MaxX - MinX + 1 , MaxY - MinY + 1);