在当前正在开发的 WPF 应用程序中,用户可以在画布上画线,当然在保存后,他可以看到几种不同的文件格式(如 JPEG 和专有文件格式的输出)。这工作正常,但 JPEG 版本应该被裁剪,当这种裁剪发生时,对象的顶部会被一些额外的像素所覆盖。
在代码中,我们使用了抗锯齿设置:
EdgeMode.Aliased;
基于 System.Windows.Media.EdgeMode
见下文。现在,当这被注释掉时,事情会很好地锻炼,所以裁剪没有问题,但是线条会呈现出更锐利的边缘,这是不可接受的。
有人接触过这个问题吗?如果是这样,这个问题的解决方案或解决方法是什么?
#region Assembly PresentationCore.dll, v4.0.0.0
// C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\PresentationCore.dll
#endregion
using System;
namespace System.Windows.Media
{
// Summary:
// Determines how the edges of non-text drawing primitives are rendered.
public enum EdgeMode
{
// Summary:
// No edge mode is specified. Do not alter the current edge mode of non-text
// drawing primitives. This is the default value.
Unspecified = 0,
//
// Summary:
// Render the edges of non-text drawing primitives as aliased edges.
Aliased = 1,
}
}
谢谢