我正在尝试使用 Diret2D(SharpDX) 渲染一些基元,但结果对我来说并不令人满意 - 所有省略号都是模糊的(见下文)。是否有一些选项可以使椭圆更平滑?我将几何渲染到 BitmapRenderTarget,然后接收位图并对 WindowRenderTarget 执行 DrawBitmap。
最佳答案
三年后仍然没有答案,所以这里是:
将抗锯齿设置为 AntiAliasMode.PerPrimitive 将允许在没有像素化或锯齿的情况下绘制非垂直或水平的线条。这解决了椭圆的问题,但不能防止直线模糊。
OP指的是当窄线与像素位置不对齐时发生的模糊,因此无法完美绘制。一个经典的观察结果是,使用 AntiAliasMode.PerPrimitive
时,所有线条都指定为一个像素粗的网格将出现一些线条更宽一些更窄,而使用 AntiAliasMode.None
一些线条可能会完全消失。
对于垂直线和水平线,这可以通过在每条线的位置增加或减少 0.5 像素宽度来解决。此调整将使线条捕捉到精确的像素位置,以便可以正确绘制宽度为 1 的线条。
关于c# - Direct2D 模糊渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33691816/