- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
有没有办法在启用抗锯齿的情况下绘制 emf 图元文件(从绘图工具导出)?我尝试过的工具无法导出抗锯齿的 emf 文件,因此我想知道在我的控件的 OnPaint 覆盖中绘制 emf 时是否可以手动将其重新打开。
如果有人可以确认在技术上可以生成抗锯齿 emf 文件,另一种解决方案是使用可以导出到抗锯齿 emf 的绘图工具,或者让第 3 方转换器稍后执行此操作。如果有人知道这样的工具,请告诉我。
编辑:查看 emf instructions 时似乎 emf 本身实际上并不能存储是否要进行抗锯齿处理的信息。至少我找不到任何东西。抗锯齿更有可能是由播放引擎完成的。例如,当我在 Word 2007 中打开一个 emf 时,它会呈现抗锯齿效果。但当我使用 GDI+“播放引擎”(Graphics.DrawImage(...)
) 绘制它时却不是这样。或者当我查看标准 Windows 图像查看器时。这让我相信有些工具实际上有自己的 emf 播放引擎。因此,也许有免费的 .NET 库(最好带有源代码)为我提供存储在已解析的 emf 文件中的 emf 指令的对象模型,这样我就可以自己播放它而不是使用 Graphics.DrawImage(... )
?
最佳答案
我们在 DirectX 项目中遇到了类似的问题。放大和缩小在一定程度上起作用,但它是假装的。如果这是你需要反复做的事情,你也许可以解析 WMF 的记录并用 GDI+ 抗锯齿绘制它们。
以下线程支持这一点(但它们是从 2005 年开始的,所以情况可能已经改变):
http://www.dotnet247.com/247reference/msgs/28/144605.aspx
[编辑:]
这三个程序可能为您完成这项工作:我假设您可以手动完成:
http://emf-to-vector-converter-command-line-ser.smartcode.com/info.html
http://www.verypdf.com/pdf-editor/index.html
http://www.ivanview.com/converter/emf-batch-converter.html
[编辑二:]
好吧,这里有一个程序可以让您以各种方式检查 EMF:
http://download.cnet.com/windows/3055-2383_4-10558240.html?tag=pdl-redir
...这里有一个免费软件库,可让您解析 122 条 EMF 命令并在 GDI+ 中输出它们。这应该可以解决问题:
http://www.codeproject.com/KB/GDI-plus/emfexplorer.aspx?msg=2359423
...哦,还要注意代码项目页面上的评论#3。之前好像有人用头撞过墙。希望这能解决您的问题。
关于c# - 绘制 emf 抗锯齿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1783130/
尝试使用 tkinter 为一系列 PIL 图像制作动画。我的帧持续时间 (ms) 的图表如下所示: 有人知道是什么导致了这种尖尖的锯齿图案吗? 这是一个重现的脚本: from PIL import
我正在尝试使用 Canvas 创建“星爆”效果,但线段出现令人难以置信的像素化。我做错了什么吗? var rays = 40; var canvas = $("header canvas")[0];
爪牙 我在 JAGS 中有一个仅拦截逻辑模型,定义如下: model{ for(i in 1:Ny){ y[i] ~ dbern(mu[s[i]]) } for(j in 1:Ns){
我是一名优秀的程序员,十分优秀!