2012-04-15 3 views
1

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

Может кто-нибудь предложить мне какое-либо решение или указатель для решения этой проблемы.

Любая помощь в глубоком понимании.

+0

Вы должны нарисовать изображение самостоятельно самостоятельно? – gliderkite

+0

Да, мне нужно нарисовать векторное изображение, которое можно изменить в целевом местоположении, не теряя качества рисования ... !! – Pank

ответ

1

Если вам нужно сохранить свое изображение в векторном формате, вы можете использовать трассировку. Potrace - библиотека трассировщика с открытым исходным кодом (но считается, что трассировка растрового изображения несовершенна). Также считаю, что МОФ тесно связан с XAML, написанными на различных языках векторной графики разметки, так что вы можете convert raster graphics to XAML (хотя Чарльз Петцольд you can't embed a bitmap in a XAML file)

Если вам нужно нарисовать векторное изображение вы можете использовать Shape элемент, который обеспечивает базовый класс для элементов формы, таких как Ellipse, Polygon и Rectangle; и добавьте форму как Panel ребенка. Если вы имеете дело с тысячами форм, я предлагаю использовать класс DrawingVisual, визуальный объект, который можно использовать для рендеринга векторной графики на экране и его метод RenderOpen.

Чтобы увеличить масштаб, вам необходимо работать с преобразованиями, в частности ScaleTrasnform, и применить преобразование к своей панели или к вашим фигурам.

Надеюсь, что эта помощь.

+0

Спасибо gliderkite за ваш ответ, но я хочу сохранить изображение в каком-то векторном формате, который может быть переоценен вне контекста приложения. Обычно, когда мы делаем изображение, мы должны использовать RenderTargetBitmap, который является растровой графикой, но я хочу, чтобы он был в векторном формате, поскольку он отображает внутри wpf. – Pank

+0

Я отредактировал свой ответ, чтобы удовлетворить ваш запрос. – gliderkite

+0

Еще раз спасибо, я попытаюсь реализовать решение таким образом, если он может получить некоторые результаты. !! – Pank

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