Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Direct2D模糊渲染_C#_C++_Drawing_Direct2d_Sharpdx - Fatal编程技术网

C# Direct2D模糊渲染

C# Direct2D模糊渲染,c#,c++,drawing,direct2d,sharpdx,C#,C++,Drawing,Direct2d,Sharpdx,我正在尝试使用Diret2D(SharpDX)渲染一些基本体,但结果对我来说并不令人满意-所有椭圆都是模糊的(见下文)。是否有一些选项可以使椭圆更平滑?我正在将几何体渲染到BitmapRenderTarget,然后接收位图并将DrawBitmap绘制到WindowRenderTarget 三年后,仍然没有答案,因此: 将抗锯齿设置为AntiAliasMode.PerPrimitive将允许在没有像素化或锯齿的情况下绘制非垂直或水平的线。这解决了椭圆的问题,但不能防止直线的模糊性 OP指的是当窄线

我正在尝试使用Diret2D(SharpDX)渲染一些基本体,但结果对我来说并不令人满意-所有椭圆都是模糊的(见下文)。是否有一些选项可以使椭圆更平滑?我正在将几何体渲染到BitmapRenderTarget,然后接收位图并将DrawBitmap绘制到WindowRenderTarget


三年后,仍然没有答案,因此:

将抗锯齿设置为AntiAliasMode.PerPrimitive将允许在没有像素化或锯齿的情况下绘制非垂直或水平的线。这解决了椭圆的问题,但不能防止直线的模糊性

OP指的是当窄线与像素位置不对齐时出现的模糊性,因此无法完美绘制。一个典型的观察结果是,在
抗锯齿模式下。PerPrimitive
一个网格,其中所有线都指定为一个像素厚,将显示一些线更宽,一些线更窄,而在
抗锯齿模式下。没有一条
某些线可能会完全消失


对于垂直线和水平线,这可以通过在每行的位置上加上或减去0.5像素宽度来解决。此调整将使线条捕捉到精确的像素位置,以便正确绘制宽度为1的线条

三年后仍然没有答案,因此:

将抗锯齿设置为AntiAliasMode.PerPrimitive将允许在没有像素化或锯齿的情况下绘制非垂直或水平的线。这解决了椭圆的问题,但不能防止直线的模糊性

OP指的是当窄线与像素位置不对齐时出现的模糊性,因此无法完美绘制。一个典型的观察结果是,在
抗锯齿模式下。PerPrimitive
一个网格,其中所有线都指定为一个像素厚,将显示一些线更宽,一些线更窄,而在
抗锯齿模式下。没有一条
某些线可能会完全消失


对于垂直线和水平线,这可以通过在每行的位置上加上或减去0.5像素宽度来解决。此调整将使线条捕捉到精确的像素位置,以便正确绘制宽度为1的线条

这是锯齿效果,所以抗锯齿就是你想要的。我已经设置了AntialiasMode=AntialiasMode.PerPrimitive。现在,椭圆看起来不错,但线条模糊,如果线条不在像素完美位置,则必须进行折衷。请参见我的回答:这是锯齿效果,因此抗锯齿就是您想要的。我已设置了AntialiasMode=AntialiasMode.PerPrimitive。现在,椭圆看起来不错,但线条模糊,如果线条不在像素完美位置,则必须进行权衡。请参见我的答案: