【问题标题】:Plane projection and scale causing bluring in silverlight平面投影和比例导致银光模糊
【发布时间】:2010-03-16 11:06:00
【问题描述】:

好的,

所以我尝试制作一个依赖于按单个因素缩放的图像的应用程序。这些图像随后可以被翻转,但使用了 ProjectionPlane 旋转的动画。

当图像同时缩放和旋转时,问题就会出现。由于某种原因,它开始模糊,而未缩放的图像不会模糊。

此外,如果您查看下面的示例图像(顶部被缩放和旋转,底部被旋转),顶部的投影甚至看起来都不正确。它太水平了。

http://img43.imageshack.us/img43/5923/testimages.png http://img43.imageshack.us/img43/5923/testimages.png

这是测试应用的代码:

<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,则图像变得不模糊,因此只有在旋转过程中图像才会模糊。

【问题讨论】:

    标签: c# silverlight scale projection plane


    【解决方案1】:

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

    【讨论】:

    • 好吧,问题是如果顶部图像不使用投影平面旋转,质量等于底部图像(根本没有模糊)我的问题是有一个要求同时缩放和旋转的图像,因此我不能将比例缩小。感谢您的输入! :)
    【解决方案2】:

    看起来顶部图像在绘制时正在被过滤。从您的代码中,您有:

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

    对于顶部图像和

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

    对于底部的。您有不同的图像尺寸,因此顶部的图像可能会被放大,因此在插入丢失的像素时会变得模糊。

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

    【讨论】:

    • 您好,谢谢您的建议,我将宽度和高度设置为与另一个相同,但仍然模糊。我把它留得更小的原因是它在缩放后与底部图像的大小相同,只是为了比较。
    猜你喜欢
    • 2018-06-20
    • 2021-02-25
    • 2012-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-06
    • 2014-08-01
    • 2016-07-09
    相关资源
    最近更新 更多