C# 在silverlight中导致模糊的平面投影和比例

C# 在silverlight中导致模糊的平面投影和比例,c#,silverlight,scale,projection,plane,C#,Silverlight,Scale,Projection,Plane,嗯 所以我试着制作一个应用程序,它依赖于由单个因素缩放的图像。然后可以翻转这些图像,但需要使用在ProjectionPlane旋转上工作的动画 当图像同时缩放和旋转时,问题就会出现。由于某种原因,它开始模糊,而非缩放图像不会模糊 此外,如果您查看下面的示例图像(顶部被缩放和旋转,底部被旋转),顶部的投影看起来甚至不正确。太横了 这是测试应用程序的代码: <UserControl x:Class="SilverlightApplication1.Page" xmlns="http:

所以我试着制作一个应用程序,它依赖于由单个因素缩放的图像。然后可以翻转这些图像,但需要使用在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,则图像将变得不模糊,因此只有在旋转过程中图像才会模糊。

在绘制顶部图像时,它看起来像是在进行过滤。根据您的代码,您有:

<Image Source="bw-test-pattern.jpg" Width="50" Height="40"/>

对于顶部图像和

<Image Source="bw-test-pattern.jpg" Width="150" Height="120"/>

最后一个。您有不同的图像大小,因此顶部的图像可能会被放大,因此在插值缺少的像素时会模糊


我不熟悉silverlight,因此我不知道如何控制过滤选项,但将上面的顶行设置为与下面的相同可能会解决此问题。

在绘制顶部图像时,似乎正在对其进行过滤。根据您的代码,您有:

<Image Source="bw-test-pattern.jpg" Width="50" Height="40"/>

对于顶部图像和

<Image Source="bw-test-pattern.jpg" Width="150" Height="120"/>

最后一个。您有不同的图像大小,因此顶部的图像可能会被放大,因此在插值缺少的像素时会模糊


我不熟悉silverlight,因此我不知道如何控制过滤选项,但将上面的顶行设置为与下面的相同可能会解决此问题。

顶部图像的宽度设置为50,高度设置为40。所以它被缩小了规模。然后你把它放大到合适的尺寸150120。我猜Silverlight会将图像缩小,并且由于性能优化而不会存储原始大小。保留比例,并为第一幅图像设置正确的宽度和高度。

顶部图像的宽度设置为50,高度设置为40。所以它被缩小了规模。然后你把它放大到合适的尺寸150120。我猜Silverlight会将图像缩小,并且由于性能优化而不会存储原始大小。保留缩放比例,为第一张图像设置正确的宽度和高度。

嘿,谢谢你的建议,我将宽度和高度设置为与另一张相同,但仍然模糊。我之所以让它变小,是为了在缩放后与底部图像的大小相同,只是为了比较。嘿,谢谢你的建议,我将宽度和高度设置为与另一个相同,但它仍然模糊。我之所以让它变小,是为了在缩放后与底部图像大小相同,只是为了比较。问题是,如果顶部图像不使用投影平面旋转,质量与底部图像相同(根本没有模糊)我的问题是需要同时缩放和旋转图像,因此我不能忽略缩放。不过谢谢你的意见!:)问题是,如果顶部图像不使用投影平面旋转,质量等于底部图像(完全没有模糊)。我的问题是需要同时缩放和旋转图像,因此我不能忽略缩放。不过谢谢你的意见!:)