在 C# 中保存图元文件
如果我在 System.Drawing.Image 中有一个 wmf 或 emf 图像,有没有办法用 c# 保存图元文件数据而不将其渲染为位图? 调用 Image.Save 会将其渲染为位图,我想保留原始数据,以便它仍然是有效的 .wmf 或 .emf 格式文件。
If I have a wmf or emf image in System.Drawing.Image, is there a way to save the metafile data with c# without rendering it as a bitmap? Calling Image.Save will render it to a bitmap and I want to keep the original data so that it would still be a valid .wmf or .emf format file.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
尽管有这个 MSDN 页面,但仍可以保存真正的 EMF 文件。 请参阅此问题: gdi-c-how-将图像另存为 emf
Despite this MSDN page, it is possible to save a true EMF file. See this question: gdi-c-how-to-save-an-image-as-emf
看来你不能。
在 此 MSDN 页面上,指出:
备注
当您使用 Save 方法将图形图像另存为 Windows 图元文件格式 (WMF) 或增强型图元文件格式 (EMF) 文件时,生成的文件将另存为可移植网络图形 (PNG)文件代替。 出现此行为的原因是 .NET Framework 的 GDI+ 组件没有可用于将文件另存为 .wmf 或 .emf 文件的编码器。
It seems you can not.
On this MSDN page, it is stated:
Remarks
When you use the Save method to save a graphic image as a Windows Metafile Format (WMF) or Enhanced Metafile Format (EMF) file, the resulting file is saved as a Portable Network Graphics (PNG) file instead. This behavior occurs because the GDI+ component of the .NET Framework does not have an encoder that you can use to save files as .wmf or .emf files.
如果使用 gdi32.dll,则可以以其原始格式保存图元文件。
我正在使用此处描述的方法 并且工作正常。
It is possible to save a metafile in its orignal format if you use the gdi32.dll.
I am using the method described here and it works fine.