相关疑难解决方法(0)

如何在C#/ WPF/WinForms中将WMF渲染到BitMap时启用消除锯齿功能?

这样做时,为什么线路等不会被消除锯齿?

using (var myGraphics = Graphics.FromImage(bitmap))
{
myGraphics.CompositingQuality = CompositingQuality.HighQuality;
myGraphics.SmoothingMode = SmoothingMode.HighQuality;
myGraphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;

myGraphics.Clear(backgroundColor);

myGraphics.EnumerateMetafile(m_metafile, new Point(0, 0), m_metafileDelegate);
}
Run Code Online (Sandbox Code Playgroud)

委托函数如下所示:

private bool MetafileCallback(EmfPlusRecordType recordType, int flags, int dataSize, IntPtr data, PlayRecordCallback callbackData)
{
        byte[] dataArray = null;
        if (data != IntPtr.Zero)
        {
            // Copy the unmanaged record to a managed byte buffer 
            // that can be used by PlayRecord.
            dataArray = new byte[dataSize];
            Marshal.Copy(data, dataArray, 0, dataSize);
        }

        m_metafile.PlayRecord(recordType, flags, dataSize, dataArray);

        return true;
}
Run Code Online (Sandbox Code Playgroud)

我是否需要覆盖特定类型的PlayRecord以获得抗锯齿功能? …

c# system.drawing wmf metafile .emf

5
推荐指数
1
解决办法
1042
查看次数

具有强制抗锯齿功能的EMF

我们的程序需要生成矢量图形,我们为此选择了EMF.但是,似乎其他程序使这些图像无法抗锯齿.我发现SVG格式确实有一个标志来指示某些/所有对象应该被抗锯齿.

EMF格式中是否有任何类型的标志或命令表示我们想要抗锯齿?如果是这样,如何使用System.Drawing.Imaging.Metafile类生成该命令?

谢谢.

.net vector-graphics antialiasing .emf

4
推荐指数
1
解决办法
2288
查看次数

标签 统计

.emf ×2

.net ×1

antialiasing ×1

c# ×1

metafile ×1

system.drawing ×1

vector-graphics ×1

wmf ×1