C # Рисование ориентированного графа - PullRequest
0 голосов
/ 28 января 2009

Есть ли способ нарисовать ориентированный граф / дерево в C #, без использования внешних библиотек?

Ответы [ 3 ]

0 голосов
/ 28 января 2009

Да. Вы будете использовать пространство имен System.Drawing (подробнее здесь ). Вы захотите создать виртуальный холст, достаточно большой для обработки самых широких и высоких экстентов. Их можно рассчитать, рассчитав количество листьев в вашем дереве (с графиком это немного сложнее), а затем добавив коэффициент расстояния и т. Д.

Это не сложная проблема, но она утомительна. Это заняло у меня один день несколько лет назад. Извините, но я отказался от интерфейса как слишком неуклюжего и не сохранил код.

0 голосов
/ 28 января 2009

Да, используйте пространство имен System.Drawing, которое содержит функции / классы рисования.

В основном, чтобы нарисовать, вы делаете это:

Bitmap bmp = new Bitmap(width, height);
Image img = bmp;
Graphics g = Graphics.FromImage(img);

Затем используйте g.FillRectangle, g.DrawLine, g.DrawString и т. Д.

Помните, что 0,0 вверху слева, хотя:)

0 голосов
/ 28 января 2009

вы должны иметь возможность использовать пространство имен System.Drawing для рисования, а затем просто выполнять математические и вычислительные операции самостоятельно.

...