首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可靠的.wmf/wmf到基于像素的图像转换

可靠的.wmf/wmf到基于像素的图像转换
EN

Stack Overflow用户
提问于 2009-04-24 13:25:23
回答 2查看 1.4K关注 0票数 0

下午好,

我在基于.Net内部(System.Drawing)的MetaFile /图像处理包含透明区域的.wmf文件时遇到了一些问题。基本上每当我做一个MetaFile.LoadFile(...)并将其保存为tiff/png等,该源文件的某些区域丢失。我真的不能确定它,但它-似乎-在图元文件中基于矢量的信息工作得很好,但基于像素的区域(例如,放置在.wmf中的图像)丢失了。

有没有人知道一种可靠的、.net原生的和非第三方的方法来正确转换wmf文件(如在..最终的基于像素的图像看起来像.wmf。只是..。好吧..。像素化)?

干杯和谢谢,-J

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-04-27 20:44:23

好吧,显然将元文件(.wmf/.emf)转换为另一种格式最可靠的方法是使用.png作为输出格式,因为在msdn描述中的某个地方,元文件被内部处理/转换为png格式(使用alpha等)和例如Metafile.Save(“某个地方”...)默认情况下将以png ImageFormat格式输出。

因此,如果您确实想从Metafile输入创建一个非png图像,那么您可以更进一步,转换并存储为png,然后将该png重新转换为您的最终格式。有点差劲,但话又说回来..wmf本身无论如何都很奇怪,我已经得出了(我个人的)结论,它是邪恶的。;)

-J

票数 0
EN

Stack Overflow用户

发布于 2009-04-24 13:38:40

问题是.NET是GDI+,而WMF/EMF是GDI。重要的是要知道,GDI+与GDI不兼容,它们有完全不同的API和功能。因此,GDI元文件中的一些操作并不像预期的那样运行。透明的位图,以及元文件上的世界变换等等,通常并不像微软所宣传的那样真正起作用。

到目前为止,我得到的最好的结果是将元文件转换为原生GDI+,这需要模拟GDI堆栈,并应用一些主要的调整来获得文本定位等。

看看EMFExplorer,那里发现的信息可能会有很大帮助。http://www.codeproject.com/KB/GDI-plus/emfexplorer.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/785837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档