WPF - 路径/几何帮助 - 奇怪的形状

Posted

技术标签:

【中文标题】WPF - 路径/几何帮助 - 奇怪的形状【英文标题】:WPF - Path/Geometry help - Strange shape 【发布时间】:2009-12-22 20:52:26 【问题描述】:

谁知道从 Xaml 创建这个对象的好方法?当叠加在其他控件之上时,它还必须在 0.5 不透明度下工作。

它还必须通过水平或垂直对齐来调整大小。

我遇到了一些困难。我得到的最接近的是 2 个边框,一个具有负边距 - 但应用不透明度时它不起作用。

有效的代码:

<Path Fill="Black">
    <Path.Data>
        <CombinedGeometry GeometryCombineMode="Exclude">
            <CombinedGeometry.Geometry1>
                <RectangleGeometry RadiusX="5" RadiusY="5" Rect="0,0,200,100" />
            </CombinedGeometry.Geometry1>
            <CombinedGeometry.Geometry2>
                <RectangleGeometry RadiusX="5" RadiusY="5" Rect="105,5,90,90" />
            </CombinedGeometry.Geometry2>
        </CombinedGeometry>
    </Path.Data>
</Path>

【问题讨论】:

我画得很快,黑色部分应该是物体宽度的 1/2。 【参考方案1】:

使用带有 EvenOdd FillRule 的 GeometryGroup,或带有 Xor 或 Exclude 的 GeometryCombineMode 的 CombinedGeometry。要组合的几何图形都是 RectangleGeometry 对象,具有适当的 RadiusX 和 RadiusY。结果将是内部矩形所在的外部矩形,其中有一个“孔”。 (我认为这是您想要的,而不是黑色矩形中的白色矩形。)

然后,您可以将此复合几何体分配给 Path 作为其 Data 属性,并根据需要设置 Fill 和 Opacity。

【讨论】:

您的建议有效。我以前从未在 WPF 中使用过原始几何图形。

以上是关于WPF - 路径/几何帮助 - 奇怪的形状的主要内容,如果未能解决你的问题,请参考以下文章

WPF学习第四十三章 路径和几何图形

将几何图形转换为 wpf 中的路径(使用混合?)

WPF学习第五十五章 基于路径的动画

WPF学习第四十四章 图画

WPF学习第四十四章 图画

如何从 Skia 路径几何中获取网格?