我已经将基本动画放在一起,控制缩放比例从0.1到1.0(x & y)。我始终看到的问题是,这些控制器在最终静态状态解决之前会“模糊”。WinRT(C#/ XAML)没有模糊的比例
一个例子是我拿的这个屏幕凸轮。
我不知道是什么导致了这一点。它是您通过Blend生成的默认动画/故事板。
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleX)" Storyboard.TargetName="UIBorder" >
<EasingDoubleKeyFrame KeyTime="0" Value="0.2">
<EasingDoubleKeyFrame.EasingFunction>
<BackEase EasingMode="EaseInOut"/>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
<EasingDoubleKeyFrame KeyTime="0:0:1.4" Value="1">
<EasingDoubleKeyFrame.EasingFunction>
<BackEase EasingMode="EaseInOut" Amplitude="3"/>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
所述控制:
<Grid x:Name="UIBorder" Width="555" HorizontalAlignment="Center" VerticalAlignment="Center" RenderTransformOrigin="0.5,0.5">
<Grid.RenderTransform>
<CompositeTransform ScaleY="0.2" ScaleX="0.2"/>
</Grid.RenderTransform>
<Grid Margin="122,0,0,0" RenderTransformOrigin="0.5,0.5" >
<Border Background="#FF343434" ManipulationMode="None" IsDoubleTapEnabled="False" IsHoldingEnabled="False" IsRightTapEnabled="False" IsTapEnabled="False" RenderTransformOrigin="0.5,0.5" >
<Border.RenderTransform>
<CompositeTransform/>
</Border.RenderTransform>
</Border>
</Grid>
<Image HorizontalAlignment="Left" VerticalAlignment="Center" Source="ms-appx:///Assets/Chrome/LoginSeal.png" Stretch="None"/>
</Grid>
注:
- 我有这个模糊证实两者在Windows 8 PC上,并从两个独立的来源表面RT平板电脑(即不是硬件特定的)。
- 我试过BitmapCache,看看它是否有任何改变(会变得更糟)。
嗯。我不认为你会完全消除这一点。缩放可能会很快完成,而不是准确完成,因此可能会导致模糊的“舍入”错误。 – ChrisF
否定的。我放慢了动画速度以允许慢动画,并且它们往往变得更糟。快速至少隐藏大部分模糊。 (对不起) –
我使用完全相同的代码,并延长故事板的持续时间,但我没有看到任何模糊的边界?不知道我错过了什么? –