2012-04-15 3 views
1

Je travaille sur un contrôle de graphique, J'ai besoin d'implémenter la fonction d'instantané de graphique pour capturer une image vectorielle en haute qualité de courbes et de textes, dans n'importe quelle taille demandée.Comment rendre un objet VisualElement à une image vectorielle?

Quelqu'un peut-il me suggérer une solution ou un pointeur pour résoudre ce problème.

Tout type d'aide est grandement apprécié.

+0

Vous devez dessiner l'image vectorielle vous-même? – gliderkite

+0

Oui, j'ai besoin de dessiner une image basée sur le vecteur, qui peut être redimensionnée dans l'emplacement de la cible, sans perdre la qualité du dessin ... !! – Pank

Répondre

1

Si vous devez enregistrer votre image dans un format vectoriel, vous pouvez utiliser le suivi. Potrace est une bibliothèque open-source bitmap-vector-tracer (mais considère que le traçage bitmap est imparfait). considère également que WPF est étroitement liée à XAML, une langue des graphiques vectoriels de balisage, de sorte que vous pouvez convert raster graphics to XAML (bien que Charles Petzold you can't embed a bitmap in a XAML file)

Si vous devez dessiner une image vectorielle, vous pouvez utiliser l'élément Shape qui fournit une classe de base pour les éléments de forme, tels que Ellipse, Polygon et Rectangle; et ajoutez la forme en tant que Panel enfant. Si vous avez affaire à des milliers de formes, je suggère d'utiliser la classe DrawingVisual, un objet visuel qui peut être utilisé pour afficher des graphiques vectoriels sur l'écran, et sa méthode RenderOpen. Pour zoomer, vous devez travailler avec des transformations, en particulier ScaleTrasnform et appliquer la transformation à votre panneau ou à vos formes.

Espérons cette aide.

+0

Merci gliderkite pour votre réponse, Mais je veux enregistrer l'image dans un format vectoriel qui peut être redimensionnable en dehors du contexte de l'application. Normalement, quand nous rendons une image, nous devons utiliser RenderTargetBitmap, qui est un graphique Raster mais je veux qu'il soit en format vectoriel comme il rend à l'intérieur wpf .. – Pank

+0

J'ai édité ma réponse pour répondre à votre demande. – gliderkite

+0

Merci encore, je vais essayer de mettre en œuvre la solution de cette façon si elle peut aller chercher des résultats .. !! – Pank

Questions connexes