Pergunta
Se eu tiver um WMF ou EMF imagem em System.Drawing.Image, há uma maneira de guardar os dados de metarquivo com c # sem torná-lo como um bitmap? Chamando Image.Save irá torná-lo a um bitmap e eu quero manter os dados originais para que ele ainda seria um .wmf válido ou .emf arquivo de formato.
Solução
Parece que você não pode.
Na este MSDN página , afirma-se:
Observações
Quando você usa o método Save para salvar uma imagem gráfica como um formato Windows Metafile (WMF) ou arquivo de formato de metaficheiro avançado (EMF), o arquivo resultante é salva como um arquivo Portable Network Graphics (PNG) em vez. Este comportamento ocorre porque o componente GDI + do .NET Framework não tem um codificador que você pode usar para salvar arquivos como .wmf ou .emf arquivos.
Outras dicas
Apesar desta página MSDN, é possível salvar um arquivo EMF verdade. Veja esta pergunta: GDI-c-como- to-save-an-image-as-emf
É possível salvar um metarquivo em seu formato orignal se você usar o gdi32.dll.
Eu estou usando o método descrito aqui e trabalha muito bem.