Saltar al contenido

Cambiar el tamaño de la imagen en xaml sin perder calidad

Solución:

Incluir RenderOptions.BitmapScalingMode="Fant" en tu imagen, así:

<Image Grid.Row="1"
       Source="/MyProject;component/Images/happy.png"
       RenderOptions.BitmapScalingMode="Fant"
       Stretch="Fill"
       Width="64"
       Height="64"
       VerticalAlignment="Top"
       Margin="0,0,0,0"
       HorizontalAlignment="Center" />

Colocar RenderOptions.BitmapScalingMode propiedad para su Image mediante .xaml:

<Image Grid.Row="1" RenderOptions.BitmapScalingMode="HighQuality" ... />

Información adicional:

los RenderOptions.BitmapScalingMode es una propiedad que escala las imágenes en función de la calidad. WPF 4.0 lo establece de forma predeterminada en Unspecified, que se refiere a LowQuality renderizado de imágenes.

Pero para garantizar que la imagen siga siendo de buena calidad cuando aumenta el tamaño, se debe elegir BitmapScalingMode como HighQuality.

Aquí está BitmapScalingMode Miembros de la enumeración con su descripción de msdn:

1.Fant – Utilice escalado de mapa de bits Fant de muy alta calidad, que es más lento que todos los demás modos de escalado de mapa de bits, pero produce una salida de mayor calidad.

2.Alta calidad – Utilice escalado de mapa de bits de alta calidad, que es más lento que el modo de baja calidad, pero produce una salida de mayor calidad. El modo HighQuality es el mismo que el modo Fant.

3.Lineal – Utilice escalado de mapa de bits lineal, que es más rápido que el modo de alta calidad, pero produce resultados de menor calidad.

4.Baja calidad – Utilice escalado de mapa de bits bilineal, que es más rápido que el modo de alta calidad, pero produce resultados de menor calidad. El modo de baja calidad es el mismo que el modo lineal.

5.Vecino más cercano – Utilice la escala de mapa de bits del vecino más cercano, que proporciona beneficios de rendimiento sobre el modo LowQuality cuando se utiliza el rasterizador de software. Este modo se utiliza a menudo para ampliar un mapa de bits.

6.Sin especificar – Utilice el modo de escala de mapa de bits predeterminado, que es Lineal.

Como se respondió anteriormente, la configuración RenderOptions.BitmapScalingMode="HighQuality" activa el antialiasing. Me gustaría proporcionar un ejemplo para los usuarios que no saben qué es el antialiasing.

Sin esta configuración:

<Image x:Name="InstrumentImage" />

Con BitmapScalingMode

Con esta configuración:

<Image x:Name="InstrumentImage" RenderOptions.BitmapScalingMode="HighQuality" />

Sin BitmapScalingMode

Vea las diferentes opciones aquí: https://docs.microsoft.com/en-us/dotnet/api/system.windows.media.bitmapscalingmode?view=netframework-4.8

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *