我试图在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,但不是我的Path数据M2,54.597 L100.15,101.27 .....作为Path Markup。它需要设置东西,这对我的自定义形状没有好处。
所以,总结一下。如何设置自定义形状(从路径数据)以执行剪切蒙版,并且还能够执行平移/缩放等...从代码转换它???
注意:我剪裁了一张图片,并知道我可以定义路径它填充图像的路径,但这里没有好处,因为如果我移动路径周围的路径图像将随之而来。