1

我正在尝试在 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 ..... 作为路径标记。它需要设置对我的自定义形状不利的东西。

所以,总结一下。如何设置自定义形状(来自路径数据)以充当剪贴蒙版并且还能够执行平移/缩放等。从代码对其进行转换???

注意:我正在剪辑一个图像,并且知道我可以定义它填充到图像的集合的路径,但这在这里不好,因为如果我移动图像周围的路径将跟随。

4

0 回答 0