Pregunta

Ok,

Así que he intentado hacer una aplicación que se basa en imágenes que se están escaladas por un factor individual. Estas imágenes son capaces de darse la vuelta, pero el uso de una animación que trabaja en la rotación ProjectionPlane.

El problema viene alrededor cuando una imagen es a la vez escalar y girar. Por alguna razón, comienza a bluring, donde una imagen no escalado no desenfoque.

Además, si se mira la imagen de ejemplo a continuación al (parte superior se escala y se gira, la parte inferior se gira) la proyección de la superior ni siquiera parece correcto. Su demasiado horizontal.

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

Esto esta el código de la aplicación de prueba:

<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>

Así que si alguien podía posible arrojar alguna luz sobre por qué esto puede estar sucediendo, me gustaría mucho aprecio. Sugerencias también son bienvenidos! :)

** Actualización **

Solo para aclarar, si la rotación plano de proyección es 0, la imagen se convierte en un-borrosa, por lo que su única durante la rotación que la imagen es borrosa.

¿Fue útil?

Solución

El ancho de la imagen superior se establece en 50 y la altura a 40. Por lo tanto, se escala reducida. Después se cambia la escala que hasta el tamaño adecuado 150, 120. supongo escalas Silverlight la imagen hacia abajo y no almacena el tamaño original debido a optmization rendimiento. Deja la escala y establecer la anchura y la altura correcta para la primera imagen.

Otros consejos

Parece que la imagen superior se está filtrando, ya que se está elaborando. A partir de su código tiene:

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

En la imagen superior y

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

En la parte inferior uno. Usted tiene diferentes tamaños de imagen para el de arriba podría estar siendo mejorar la resolución y por lo tanto borrosa ya que interpola los píxeles que faltan.

No estoy familiarizado con Silverlight, así que no sé cómo le gustaría controlar las opciones de filtrado, pero el establecimiento de la línea por encima de la parte superior de la misma que la de abajo podría solucionarlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top