2011-02-04 3 views
3

닫힌 경로의 베 지어 곡선이 주어지면 어떻게 채워지는지를 애니메이션으로 나타낼 수 있습니다. 채우기는 비선형이어야합니다. 평면을 벗어나 예리한 각도로 흐르게해야합니다. 채워진 색.경로 채우기 애니메이션 - Silverlight

이 시점에서 필자는 WriteableBitmap을 사용하여 직접 작성해야한다고 가정합니다. 생각?

답변

2

중심에서 시작하여 바깥쪽으로 퍼진 RadialBrush가 종종 허용 가능해 보입니다. 예를 들어 Kinectimals 웹 사이트의 '채색 페이지'섹션을 참조하십시오.

셰이프를 Path의 Clip 속성에 적용한 다음 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> 
+0

아무 래도 나는이 의견을 놓쳤습니다. 아이디어에 감사드립니다. 쓰기 가능한 비트 맵을 사용하여 필요한 효과를 얻었습니다. – Thomas

관련 문제