我试图Clip
将Visual
. 路径应该是具有不同角半径的圆角矩形。当前用于设置on a的API允许在所有四个角上设置统一的半径CornerRadius
RoundedRectangleGeometry
auto roundedRectangle = compositor.CreateRoundedRectangleGeometry();
roundedRectangle.CornerRadius(Float2(width, height));
clip.Geometry(roundedRectangle);
visual.Clip(clip);
但我试图与background-radius
允许为所有 4 个角设置不同的角半径的 CSS 属性保持一致:
border-radius: 10px 100px 20px 30px/ 30px 20px 10px 40px;
导致具有所有四个不同椭圆角的东西
所以本质上,我正在寻找一种方法来模拟Visual
'Clip
属性,让我能够实现与 CSS 属性类似的效果。
PS这是这个问题的持续努力。这是我已经尝试过的,但是在这种情况下,应用相同的偏移剪裁逻辑RoundedRectangle
不起作用。该问题的答案不足以满足此要求,因为圆角半径对于 2 个角是相同的(在事实上所有 4 个角)在这种情况下,建议的解决方案不适用于所有不同的椭圆角。偏移剪裁RoundedRectangle
在这里不起作用,因为我需要 4 个不同RoundedRectangle
的 s ,然后以某种方式将它们定位在 s 上,Visual
但该Clip
属性只允许一个CompositionGeometricClip
与一个Geometry
。
我正在使用C++/WinRT
语言投影。