gpt4 book ai didi

wpf - 使用 WPF 绘图时如何摆脱这些 'spike' 视觉伪影?

转载 作者:行者123 更新时间:2023-12-04 13:50:34 25 4
gpt4 key购买 nike

我目前正在为 map 应用程序绘制一些图块(小方形图像)。

我正在使用 WPF 在这些磁贴上绘制形状。

我有一个组成绘制多边形的地理空间坐标列表。

构成这些多边形的地理空间坐标被转换为像素坐标。

这些图块是在不同的细节级别上创建的。

在大多数这些细节层次上,绘图都很好;但在某些级别上,视觉伪影以尖峰或线的形式出现。

这是一个示例,这些图像具有三个不同的细节级别,一个显示问题,两个显示问题未发生的任一侧。

这个图像是最高的细节级别,是可以的:

Ok Image

此图像处于中等细节级别并显示出尖峰(沿 85 号公路最容易发现的尖峰):

Bad Image

此图像处于最低细节级别并且可以:

enter image description here

当多边形中的两条线彼此靠近和/或形成一个密集点(收敛)时,就会出现尖峰。

我们已经检查了源数据并且这些工件不存在(这也被它大部分时间正确呈现的事实所证实)。

下一个怀疑是坐标转换过程,但我们再次检查它,生成的点不应该以这种方式绘制。

这让 WPF 成为罪魁祸首,让我们陷入困境,因为我们不能像使用我们自己的代码一样简单地解决任何问题。

你们以前见过这种东西吗?

修复会很棒;)

目前看来,我们要么不得不忍受这个问题,要么改用 Direct2D。由于 GDI+ 渲染在进程中是单线程的,因此我们已经不再使用它。

最佳答案

解决方案是将 Pen 对象上的 LineJoin 属性更改为“Round”。

http://msdn.microsoft.com/en-us/library/system.windows.media.pen.linejoin.aspx

http://msdn.microsoft.com/en-us/library/system.windows.media.penlinejoin.aspx

非常感谢 Moozhe 在评论中提供了这个答案。

关于wpf - 使用 WPF 绘图时如何摆脱这些 'spike' 视觉伪影?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12642502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com