我正在尝试在 Windows Phone 8 中制作具有自定义形状的剪辑蒙版。
我有形状的路径数据,所以我可以设置
<Grid x:Name="gridMain" Clip="M2,54.597 L100.15,101.27 .....
</Grid>
并且网格被正确地裁剪到自定义路径。
我接下来需要做的是应用一个变换,所以它可以移动或缩放等。
我通常会在代码中执行以下操作
// slide transform
TranslateTransform translateTransform = new TranslateTransform();
gridMain.Clip.Transform = translateTransform;
然后使用情节提要执行移动。
但是,问题是 gridMain.Clip.Transform 不是 RenderTransform,所以动画不会运行。没有错误,只是没有动画。
如果我的自定义形状是像 EllipseGeometry 这样的内置几何图形,那么我可以在 XAML 中设置一个变换并使用 clipRT 在代码中对其进行动画处理
<Grid x:Name="gridMain" Grid.Row="1" >
<Grid.Clip>
<GeometryGroup x:Name="clipGroup">
<EllipseGeometry RadiusX="100" RadiusY="100"/>
<GeometryGroup.Transform>
<CompositeTransform x:Name="clipRT" />
</GeometryGroup.Transform>
</GeometryGroup>
</Grid.Clip>
</Grid>
我知道有一个 PathGeometry,但没有将我的路径数据 M2,54.597 L100.15,101.27 ..... 作为路径标记。它需要设置对我的自定义形状不利的东西。
所以,总结一下。如何设置自定义形状(来自路径数据)以充当剪贴蒙版并且还能够执行平移/缩放等。从代码对其进行转换???
注意:我正在剪辑一个图像,并且知道我可以定义它填充到图像的集合的路径,但这在这里不好,因为如果我移动图像周围的路径将跟随。