Анимировать заполнение пути - Silverlight - PullRequest
3 голосов
/ 04 февраля 2011

Учитывая замкнутый путь кривых Безье, как бы я анимировал заполнение. Заполнение должно быть нелинейным - обтекание под острым углом, а не просто плоскость, раскрывающая заливку.

На данный момент, я предполагаю, что мне придется использовать WriteableBitmap и делать все это самостоятельно. мысли?

1 Ответ

2 голосов
/ 29 ноября 2011

RadialBrush, исходящий из центра и распространяющийся наружу, часто выглядит приемлемым.См., Например, раздел «Раскраски» на веб-сайте Kinectimals .

Еще одна реализация, которая может работать, - применить форму к свойству клипа Path, а затем анимировать свойство StrokeThickness дляочень большое значение.

<Grid x:Name="LayoutRoot" Background="White">
    <Grid.Resources>
        <Storyboard x:Name="FillShape">
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.StrokeThickness)" Storyboard.TargetName="path">
            <EasingDoubleKeyFrame KeyTime="0:0:0.7" Value="118">
                <EasingDoubleKeyFrame.EasingFunction>
                    <CircleEase EasingMode="EaseOut"/>
                </EasingDoubleKeyFrame.EasingFunction>
            </EasingDoubleKeyFrame>
        </DoubleAnimationUsingKeyFrames>
    </Storyboard>
    </Grid.Resources>
    <Path x:Name="path" Data="M118,128 C182,300 238,342 330,252 C422,162 358,-40.000271 270,37.999855 C182,115.99998 118,128 118,128 z" Margin="117.5,19.95,264.563,181.398" Stretch="Fill" Stroke="Black" UseLayoutRounding="False" Clip="M0.4999969,108.05005 C64.500069,280.04974 120.50012,322.04968 212.50023,232.04984 C304.50034,142.04999 240.50026,-59.949921 152.50015,18.050066 C64.500069,96.050049 0.4999969,108.05005 0.4999969,108.05005 z" StrokeThickness="0"/>
</Grid>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...