gpt4 book ai didi

.net - WPF 3.5 中不一致的抗锯齿

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

我在使用 FluidKit's 的 WPF 应用程序中遇到奇怪的别名行为元素流控制。我们在工作中使用应用程序中的控件来呈现内容,当 ElementFlow 的元素倾斜时,边缘别名如下图所示:
Aliased edges

为了避免混叠,我们决定摆脱倾斜角度,所以我创建了一个快速测试应用程序,在其中我将倾斜角度、项目间隙和弹出距离绑定(bind)到 slider ,以便找出看起来最好的东西。

但是,在使用相同设置的测试应用程序中,边缘很好地消除了锯齿:
Anti-aliased edges

我假设在 XAML 层次结构中的某处有一些设置正在控制它,但我尝试设置 SnapsToDevicePixels在设计时和运行时(使用绑定(bind)和诸如 Snoop 之类的工具)对各种元素和样式都无济于事。

ElementFlow 的 XAML 如下:

<ListView.ItemsPanel>
<ItemsPanelTemplate>
<Fluid:ElementFlow
x:Name="ContentElementFlow"
SelectedIndex="{Binding SelectedIndex}"
Focusable="True"
TiltAngle="15.95"
ItemGap="0.722"
FrontItemGap="0.052"
PopoutDistance="1.631"
HasReflection="False"
Background="Transparent"
CurrentView="{StaticResource CoverFlowView}"
ElementWidth="175"
ElementHeight="250"
>
<Fluid:ElementFlow.Camera>
<PerspectiveCamera
FieldOfView="60"
Position="0,0,6"
LookDirection="0,0,-6"
UpDirection="0,1,0"
/>
</Fluid:ElementFlow.Camera>
</Fluid:ElementFlow>
</ItemsPanelTemplate>
</ListView.ItemsPanel>

我还在两台不同的机器上尝试了这两种应用程序(一台运行 XP Pro,一台 XP Embedded,两者都有不同级别的专用图形),并且都在一个应用程序中演示了锯齿,在另一个应用程序中演示了抗锯齿。

有谁知道可以用来控制它的任何设置或 XAML 属性?

最佳答案

如果我没记错的话,WPF 3.5 中有一个关于这种情况下的别名的错误,我无法终生找到相关信息,但据我所知,这是 WPF 未正确设置的 Direct X 标志.

我记得发现如果你将有问题的元素包装在某些类型的父元素中,它似乎可以解决问题。例如,我认为将违规元素包装在空边框中可以解决问题吗?同样,我终生无法再次找到该信息,但如果我找到它,我将更新我的答案。

我假设您在应用程序之间看到的差异与此有关。在显示别名的应用程序中,ItemTemplate 中的项目是否包含在某种父元素中(作为测试应用程序,它们不是)?或者反之亦然?

抱歉,我无法提供更多帮助,仍在寻找信息,但今天我的 Google 功能似乎很弱。

更新:好的,我找到了我的想法。

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/7382637b-b4bc-4a46-8bed-f36250a65385/

这与效果有关,所以也许这与您看到的不同,但值得一试。

关于.net - WPF 3.5 中不一致的抗锯齿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3444977/

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