2010-05-13 7 views
2

peut-être qu'il me manque quelque chose. Je pensais que les dessins vectoriels WPF (comme DrawingGroup, DrawingGeometry, etc.) étaient prêts à être sérialisés. Mais ils ne le sont pas. Alors, devrais-je naviguer dans tous ces dessins enfants, et stocker les points, les lignes, les pinceaux (qui ne sont pas non plus sérialisables) et ainsi de suite, et puis fait ma sérialisation personnalisée?Comment sérialiser un dessin WPF?

Est-ce vraiment difficile ou il me manque quelque chose de plutôt évident? Je veux dire, même la sérialisation des images bitmap est facile. Je pensais que la sérialisation des dessins vectoriels était plus facile (pas de perte de qualité, juste des informations descriptives, pas de données massives).

Merci pour vos réponses pratiques, suggestions alternatives et commentaires!

Répondre

4

Vous pouvez utiliser la méthode XamlWriter.Save pour enregistrer le dessin comme XAML

+0

Ouais! Cette sérialisation XAML a sauvé ma journée. J'ai dû convertir en byte-array et le compresser pour économiser de l'espace. Merci! Plus, j'ai mis une suggestion MS-Connect à ce sujet ... https://connect.microsoft.com/VisualStudio/feedback/details/559114/make-drawing-brush-and-other-wpf-classes-serializable –

0

Ceci est juste une idée: qu'en est-il de sérialiser comme un tableau d'octets?

+0

C'est exactement la sérialisation binaire natif .NET que le dessin des images ne met pas en oeuvre par défaut. –