Question

Bonjour,

Je suis un peu de mal avec base interne .net (System.Drawing) MetaFile / Traitement des images des fichiers .wmf qui contiennent des zones transparentes. Fondamentalement, chaque fois que je fais un MetaFile.LoadFile (...) et de prendre que pour l'enregistrer au format TIFF / etc .png, certaines zones que les fichiers source sont manquants. Je ne peux pas vraiment épingler vers le bas, mais il -seems- comme les informations vectorielles dans le métafichier fonctionne tout simplement très bien, mais les zones à base de pixels (par exemple une image placée dans le .wmf) sont manquants.

Quelqu'un sait-il un moyen fiable, natif .net et non 3ème partie pour convertir les fichiers WMF correctement (comme dans .. l'image à base de pixels finale ressemble .wmf .. juste .. bien .. pixélisé)?

Vive et merci, -J

Était-ce utile?

La solution 2

Ok, bien l'apparence la plus fiable façon de transformer métafichiers (.wmf / .emf) dans un autre format est d'utiliser .png comme format de sortie, comme quelque part dans les métafichiers Description msdn sont traitées en interne / transformé en un format .png de toute façon ( alpha, etc.) et par exemple un Metafile.Save ( "somewher" ...) par défaut génèrerait au format .png ImageFormat.

Donc, si vous ne voulez créer une image non .png sur une entrée Metafile, vous obtenez le meilleur résultat si vous allez le mile supplémentaire, transformer et stocker au format PNG, et prendre ce .png et re-transform à votre format final. Boiteux Kinda, mais là encore .. WMF lui-même est bizarre de toute façon et je suis venu à la conclusion (mon personnel), il est le mal. ;)

-J

Autres conseils

Le problème est que .NET est GDI +, alors que WMF / EMF est GDI. Il est important de savoir que GDI + est pas compatible avec GDI, ils ont des API et des capacités complètement différentes. Par conséquent, certaines opérations dans les métafichiers GDI se comportent pas comme prévu. bitmaps transparentes, mais aussi des transformations du monde sur métafichiers etc. souvent ne fonctionnent pas vraiment comme ANNONCEE par Microsoft.

Le mieux que je l'ai obtenu jusqu'à présent est de convertir le métafichier natif GDI +, ce qui nécessite émulant la pile de GDI et d'appliquer quelques modifications importantes pour obtenir le positionnement de texte, etc. droit.

Jetez un oeil à EMFExplorer, l'information trouvée il pourrait aider beaucoup. http://www.codeproject.com/KB/GDI-plus/emfexplorer. aspx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top