确定,
所以我试图制作一个依赖于图像按个别因素缩放的应用程序。然后可以翻转这些图像,但是使用动画处理ProjectionPlane旋转。
当图像缩放和旋转时,问题就出现了。出于某种原因,它开始模糊,非缩放图像不会模糊。
另外,如果您查看下面的示例图像(顶部是缩放和旋转,底部旋转),顶部的投影甚至看起来都不正确。它太水平了。
这是测试应用程序的代码:
<UserControl x:Class="SilverlightApplication1.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="400" Height="300">
<Canvas x:Name="LayoutRoot" Background="White">
<Border Canvas.Top="25" Canvas.Left="50">
<Border.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="3" ScaleY="3" />
</TransformGroup>
</Border.RenderTransform>
<Border.Projection>
<PlaneProjection RotationY="45"/>
</Border.Projection>
<Image Source="bw-test-pattern.jpg" Width="50" Height="40"/>
</Border>
<Border Canvas.Top="150" Canvas.Left="50">
<Border.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="1" ScaleY="1" />
</TransformGroup>
</Border.RenderTransform>
<Border.Projection>
<PlaneProjection RotationY="45"/>
</Border.Projection>
<Image Source="bw-test-pattern.jpg" Width="150" Height="120"/>
</Border>
</Canvas>
</UserControl>
因此,如果有人能够阐明为什么会发生这种情况,我会非常感激。建议也欢迎! :)
**更新**
只是为了澄清,如果投影平面旋转为0,则图像变得不模糊,因此仅在旋转期间图像模糊。
答案 0 :(得分:1)
顶部图像的宽度设置为50,高度设置为40.因此它缩小了尺寸。然后将其缩放到正确的大小150,120。我猜Silverlight会缩小图像,并且由于性能优化而不会存储原始大小。保留“缩放”并为第一张图像设置正确的宽度和高度。
答案 1 :(得分:0)
看起来顶部图像正在被绘制时被过滤。从您的代码中:
<Image Source="bw-test-pattern.jpg" Width="50" Height="40"/>
表示顶部图片和
<Image Source="bw-test-pattern.jpg" Width="150" Height="120"/>
为底部。您有不同的图像尺寸,因此顶部可能会被放大,因此在插入缺失的像素时会模糊。
我不熟悉silverlight所以我不知道你如何控制过滤选项,但是将上面的顶线设置为与底部相同可能会修复它。