Domanda

Buon pomeriggio,

Sto avendo un po 'di problemi con interno (System.Drawing) movimentazione MetaFile base / Immagine di .net di file .wmf che containt aree trasparenti. In pratica ogni volta che faccio un MetaFile.LoadFile (...) e prendo per salvarlo come TIFF / png ecc, alcune aree di che i file di origine mancano. Non posso pin giù, ma -seems- come le informazioni basate vettore all'interno metafile appena funziona bene, ma le aree di pixel-based (ad esempio un'immagine collocato all'interno del .wmf) sono mancanti.

Qualcuno sa un, .net modo 3rd-party nativa e non affidabile per convertire i file WMF correttamente (come nel .. l'immagine finale a base di pixel sembra che la .wmf .. solo .. beh .. pixel)?

Ciao e grazie, -J

È stato utile?

Soluzione 2

Ok, bene l'apparenza più affidabile modo per trasformare metafile (.wmf / .emf) in un altro formato è quello di utilizzare .png come formato di output, come da qualche parte nella descrizione metafile MSDN sono internamente gestite / trasformati in formato PNG in ogni caso ( alfa etc) e, ad esempio un Metafile.Save ( "somewher" ...) per impostazione predefinita sarebbe uscita in png FormatoImmagine.

Quindi, nel caso in cui si vuole creare un'immagine non png di un ingresso Metafile, si ottiene il risultato migliore se si va il miglio supplementare, trasformare e conservare come un png, e Take That png e ri-trasformare al vostro formato finale. Kinda zoppo, ma poi di nuovo .. WMF è di per sé strano comunque e sono venuto a la (mia personale) conclusione è il male. ;)

-J

Altri suggerimenti

Il problema è che .NET è GDI +, mentre WMF / EMF è GDI. E 'importante sapere che GDI + non è compatibile con GDI, hanno completamente diverse API e funzionalità. Pertanto, si comporta come previsto alcune operazioni in metafile GDI. bitmap trasparente, ma anche le trasformazioni mondiali di metafile ecc non spesso in realtà non funzionare come previsto da Microsoft.

Il migliore che ho ottenuto finora è quello di convertire il metafile per nativo GDI +, che richiede emulando la pila GDI e l'applicazione di alcune importanti modifiche per ottenere il posizionamento del testo ecc destra.

Date un'occhiata al EMFExplorer, l'informazione contenuta ci potrebbe aiutare molto. http://www.codeproject.com/KB/GDI-plus/emfexplorer. aspx

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top