gpt4 book ai didi

wpf - 如何在 WPF 中突出显示/勾勒 Visual 对象?

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

如果我有一个带有 n 个任意形状或大小的 Visual 对象的 Canvas,我将如何以编程方式突出显示/勾勒 Visual 对象?

WPF 中是否有内置的东西可以帮助我?

最佳答案

Joel 有一个关于使用 BitmapEffects 的好建议。

但是,如果您可以使用 .NET 3.5 SP1,我会引导您使用 GPU渲染效果 .因此,您可以使用 UIElement.Effect,而不是使用 UIElement.BitmapEffect。 .NET 3.5 SP1 内置了两种 GPU 效果:BlurEffect 和 DropShadowEffect。您还可以创建自己的 GPU 效果……这就是您可以使用 ShaderEffect 的地方。

查看 Greg Schechter 的博客文章 series了解更多信息。

这是我几天前刚刚实现的一段用于鼠标悬停效果的代码(由于 ShadowDepth 为 0,它实际上看起来有点像外部发光位图效果,但不完全是):

<Path
x:Name="mouseOverEffect"
Width="80"
Height="43.916"
Stretch="None"
Fill="#FFFFFFFF"
Opacity="0"
>
<Path.Data>
<PathGeometry FillRule="Nonzero">
<PathFigure IsClosed="True" StartPoint="39.9592899612151,25.9913931634531">
<LineSegment Point="80.0000001464848,43.9159987905149"/>
<LineSegment Point="39.9513899394755,4.97379893856246E-14"/>
<LineSegment Point="1.77635636294422E-15,43.9159987905149"/>
<LineSegment Point="39.9592899612151,25.9913931634531"/>
</PathFigure>
</PathGeometry>
</Path.Data>
<Path.Effect>
<DropShadowEffect
Color="#FFFFFFFF"
BlurRadius="10"
ShadowDepth="0"
/>
</Path.Effect>
</Path>

关于wpf - 如何在 WPF 中突出显示/勾勒 Visual 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/188844/

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