Заметил более странное поведение, которое, кажется, бросает вызов точке C# GraphicsPath.AddLines. AddLines представляет собой серию Связанные сегменты линии. Следующий код, кажется, сделать это не так:XNA GraphicsPath.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 диаграммы рассеяния показывает форма здания является правильным и никаких пробелов с первенствует ничья линейная функция. Похоже, я не имею репутацию, так что я не могу размещать фотографии: Heres Imgur ссылки: Excel График http://i.imgur.com/aqSl2TC.png
Однако с моим выходом PNG, мы можем видеть, что есть две щели:
AddLines PNG http://i.imgur.com/zgqD3YZ.png
Любые мысли о том, почему это может быть? Я пробовал увеличивать толщину линий, думая, что это может быть проблема рендеринга. Не повезло.
Это сделал. Когда линии с малым разрешением нарисованы на диагоналях, нужно выбрать пиксель, это может быть вне растрового изображения. Я мог бы использовать Bitmap BuildingBitmap = новый битмап (MaxX - MinX + 2, MaxY - MinY + 2); и рисовать все +1, чтобы это не происходило на верхней и левой сторонах. Спасибо. – Brent