none
Как рисовать линейные графики в таблице? RRS feed

  • Вопрос

  • Уважаемые Гуру!
    Попросили нарисовать линейный график в таблице (рис.1). Это характеристики вдоль дороги. Делается ли это в OpenGL или с помощью графических примитивов c# , или можно взять готовую таблицу из excel и рисовать прямо в клетках таблицы? 
    Прошу прощения , если вопрос некорректный.
    29 октября 2015 г. 9:11

Ответы

  • Добрый день.

    Если вам нужно показать пользователю в вашей программе нечто похожее на картинку, то вариантов несколько:

    1. Отрисовать все на GDI+ (это если у вас WinForms)

    2. Сверстать такой внешний вид на XAML и примитивами только дорисовывать график, а все данные подставлять в контролы TextBlock и т.д. (это если у вас WPF)

    3. Если таблица у вас не меняется, то сохранить ее в виде картинку и в приложение ее подгружать в качестве подложки. В этом случае, вы отрисовываете только график, а данные показываете в стандартных контролах. (вариант подходит и для WinForms и для WPF).

    Если бы делал я, то подумал о варианте 2, возможно в комбинации с 3...

    • Помечено в качестве ответа ATerentjev 31 октября 2015 г. 7:47
    29 октября 2015 г. 9:49
    Отвечающий

Все ответы

  • Добрый день.

    Если вам нужно показать пользователю в вашей программе нечто похожее на картинку, то вариантов несколько:

    1. Отрисовать все на GDI+ (это если у вас WinForms)

    2. Сверстать такой внешний вид на XAML и примитивами только дорисовывать график, а все данные подставлять в контролы TextBlock и т.д. (это если у вас WPF)

    3. Если таблица у вас не меняется, то сохранить ее в виде картинку и в приложение ее подгружать в качестве подложки. В этом случае, вы отрисовываете только график, а данные показываете в стандартных контролах. (вариант подходит и для WinForms и для WPF).

    Если бы делал я, то подумал о варианте 2, возможно в комбинации с 3...

    • Помечено в качестве ответа ATerentjev 31 октября 2015 г. 7:47
    29 октября 2015 г. 9:49
    Отвечающий
  • Спасибо огромное!!!

    1. Я , честно говоря, пока обедал склонялся все нарисовать в OpenGL.  Если написать примитивы  (прямоугольники), то не сложно получить форму в которой рисовать. ( пока OpenGL не использовал)

    2. Пишу в WPF. Попробую.

    3. Интересно было бы рисовать сразу в Excel. Но не знаю насколько сложно там рисовать параллелограммы и произвольную графику по координатам. Хотя для заказчику в Excel может быть и не нужно. Возможно он рисовал это вручную в Автокаде. Интересно есть ли возможность экспорта в Автокад из C#?

    4. Справа все элементы (также как и линии графиков) должны формироваться динамически , по ширине по крайней мере. Не правильно ли будет динамические изображения формировать в отдельных формах и вставлять их в ячейки уже готовыми? 

    5. Правильно ли я понимаю, что для этой задачи двумерной графики WPF достаточно и  использование OpenGL  в этой задаче излишне?

    6. Общая ширина таблицы не определена - может рисоваться с какого-то километра по какой-то и этот рисунок возможно выводить на печать.

    • Изменено ATerentjev 29 октября 2015 г. 12:17
    29 октября 2015 г. 11:57