2010-06-11 8 views
3

Я хочу сделать базовую графику WPF, т. Е. Прямоугольники, линии, круги и текст.Как рисовать текст и фигуры в wpf и C#?

Когда следует использовать чертеж и когда следует использовать DrawingVisual?

У меня есть код, который использует чертеж, и я визуализирую его на DrawingImage и отображаю его в элементе управления изображением. Правильно ли это? Я не мог понять, как добавить текст к чертежу. У меня тоже были проблемы с позиционированием. Должен ли я быть рендерингом на холст?

У меня есть код, который использует DrawingVisual и записывает в DrawingContext. Это похоже на WinForms. Это рекомендуемый способ?

У вас есть совет высокого уровня, по которому API-интерфейсы будут использоваться для базовой графики и ярлыков? Будут ли они работать на Silver Light и Desktop?

+0

2D или 3D-графика? - Silverlight не имеет полной поддержки 3D. –

+0

2D-графика, например, графики разброса или полевые диаграммы с линиями, текстом и фигурами. – user364981

ответ

1

Вы, скорее всего, захотите просто сделать холст. Если вы добавите «фигуры» на холст, WPF обработает весь чертеж для вас.

Для получения дополнительной информации см Shapes and Basic Drawing in WPF.

+0

Спасибо, я попробую фигуры и холст. Могу ли я разместить текст на холсте? Приложение должно нарисовать около 1000 базовых форм, например линий, кругов и прямоугольников, а также некоторых меток. Это настраиваемый вывод графика. Я читал, что визуальные эффекты хороши для скорости, но работают ли они в серебряном свете? Я ищу способ визуализации графики и текста вместе с аналогичной точностью положения с рисунком в winforms. – user364981

+0

@peterhu: текст отлично подходит для этого - в моем exp (WPF) это отлично работает для этого количества элементов. –

2

Вы упоминаете в своем комментарии, что вы на самом деле, реализующий разброс участки или подобные график. Как правило, в WPF это создается путем шаблонирования существующих элементов управления, таких как listview. Это звучит нелогично, но это намного проще и мощнее, чем рисовать самостоятельно.

This article by Charles Petzhold показывает график разброса, реализованный таким образом, и подробно рассказывает о том, как сделать его эффективным для 10 000 точек данных.

Смежные вопросы