2012-04-18 14 views
7

Sto lavorando su WPF Chart Component. Ho bisogno di implementare una funzionalità per rendere Chart Visual a un metafile (WMF/EMF), in modo che l'utente possa incollarlo in qualsiasi prodotto per ufficio come Word o Powerpoint e può ridimensionare il file senza compromettere la qualità dell'immagine renderizzata.Rendering di un WPF Visual in un file WMF/EMF

Ho visto alcune domande simili a riguardo qui ma nessuno di loro cede a nessuna risposta utile.

Avevo imparato da alcuni post che WPF non supporta il rendering visivo di EMF/WMF a causa di problemi di sicurezza, ma ci deve essere qualche rimpiazzo che dovrebbe consentire l'interazione come EMF/WMF fornito per l'applicazione basata su Winform e l'ufficio seme o ms-paint.

Eventuali suggerimenti per andare avanti sono i benvenuti, grazie.

risposta

3

Sì stampa XPS è ok, ma si voleva entrare in metafile, no? Appena visto questo che può aiutare guardare insieme molto basso di collegamenti

Does WPF support reading/writing WMF/EMF files natively?

sembra che questi 2 collegamenti potrebbero interessare

http://softronix.com/download/WpfToWmfClipboard.zip

http://xamltoys.codeplex.com/

+0

Apprezzo la tua risposta Sacha, XamlToys può essere una buona soluzione, ma con loro ci vuole molto tempo per rendere un EMF, anche se sembra l'unica soluzione al momento. – Pank

+0

GRANDE !!!!!!! Molte grazie ! –

1

Penso che quello che vorresti fare sia usare la classe RenderTargetBitmap per ottenere in primo luogo un'immagine del tuo controllo e poi convertirla in un EMF.

In realtà questo post del blog ti dà un buon punto di partenza: http://www.switchonthecode.com/tutorials/wpf-tutorial-getting-from-wpf-to-a-metafile-and-onto-the-clipboard

Detto questo, dal momento che si sta lavorando con un BMP (che è quello che si ottiene da WPF) l'immagine risultante non sarebbe basata vettore anche quando riesci a salvarlo come file EMF.

Anway spero che ti aiuta in qualche modo

+0

grazie sacha, conosco il modo in cui mi hai suggerito, non mi aiuterà a ridimensionare l'EMF risultante in ms word o powerpoint in quanto perderà comunque la qualità grafica del ridimensionamento. Conoscete altri modi con cui posso rendere l'immagine direttamente a emf o utilizzando qualsiasi altro formato intermidiet. – Pank

+0

Come so che possiamo rendere visivo a xps che è un formato vettoriale e l'ho già usato per implementare la funzionalità di stampa, ma gli appunti o la parola ms non sono dotati della funzionalità per accettare xps come formato di input e renderlo. – Pank

1

ho una soluzione per questo, Avevo usato XamlToys per convertire un elemento visivo in Emf di seguito sono riportati i passaggi per ottenere tale: Ottieni l'elemento Framework. Converti in XPS Quindi convertilo in XamlStream E poi convertilo in EMF usando XamlToys. Funziona bene e dà un Emf di alta qualità.

Provalo e fammi sapere se è utile.

+0

Pank, grazie per il tuo riassunto dal 4 maggio. Ci ho provato. Una nota per coloro che vogliono utilizzare la soluzione: XamlToys non ha implementato Visual3D (GetDrawingFromXaml() genera l'eccezione 'Visual3D non implementata').Pertanto XamlToys non è una soluzione se viene utilizzato Visual3D. – Falo

Problemi correlati