Wpf - Cambiar el tamaño de una imagen

Descripción general

codigo que muestra como se cambia el tamaño de una imagen usando la libreria Wpf

Para aquellas veces que sólo ocupamos cambiar el tamaño de la imagen manteniendo sus proporciones, WPF nos facilita el trabajo con las propiedades DecodePixelWidth o DecodePixelHeight de la clase BitmapImage.

De aquí es importante notar tres cosas:

Funcion [ResizeImage]

''' <summary> ''' Cambia el tamaño de una imagen ''' </summary> ''' <param name="imagenOriginal">La imagen original</param> ''' <param name="newSize">El nuevo tamaño de la imagen</param> ''' <returns>Devuelve una nueva imagen con el tamaño previamente elegido</returns> ''' <remarks> ''' <para> De aquí es importante notar dos cosas:</para> ''' <para> Al método le pasamos una imagen y un nuevo tamaño. ''' El nuevo tamaño se asigna a la propiedad DecodePixelWidth que será ''' la nueva anchura de la imagen. ''' </para> ''' <para> La altura de la imagen se deja sin asignar para que se ajuste automáticamente ''' y la imagen mantenga sus proporciones. ''' </para> ''' <code> ''' <Bibliografía> ''' Cambiar el tamaño de una imagen en WPF – C# ''' https://digitalnous.wordpress.com/2010/08/07/cambiar-el-tamao-de-una-imagen-en-wpf-c/ ''' Información general sobre imágenes ''' https://msdn.microsoft.com/es-es/library/ms748873(v=vs.110).aspx ''' BitmapImage.DecodePixelWidth (Propiedad) ''' https://msdn.microsoft.com/es-es/library/system.windows.media.imaging.bitmapimage.decodepixelwidth(v=vs.100).aspx ''' </Bibliografía> ''' </code> ''' </remarks> Public Function ResizeImage(ByVal imagenOriginal As System.Windows.Media.Imaging.BitmapImage, ByVal newSize As Integer) _ As System.Windows.Media.Imaging.BitmapImage Dim BI As New System.Windows.Media.Imaging.BitmapImage BI.BeginInit() BI.UriSource = imagenOriginal.UriSource BI.DecodePixelWidth = newSize BI.EndInit() Return BI End Function

Con esta imagen podemos hacer lo que queramos, por ejemplo, con el siguiente código podemos guardarla en formato JPG en el disco

Funcion [SaveDecodeToJPG]

''' <summary> ''' Guarda una imagen en el disco en formato Jpg ''' </summary> ''' <param name="filename">El nombre completo del fichero</param> ''' <param name="unaImagen">la imagen que se va a guardar</param> Public Sub SaveDecodeToJPG(ByVal filename As String, ByVal unaImagen As System.Windows.Media.Imaging.BitmapImage) If unaImagen Is Nothing Then Exit Sub If filename Is Nothing Then Exit Sub If filename.Length = 0 Then Exit Sub Dim stream As New IO.FileStream(filename, IO.FileMode.Create) Dim jpgEncoder As New JpegBitmapEncoder() jpgEncoder.Frames.Add(BitmapFrame.Create(unaImagen)) jpgEncoder.Save(stream) stream.Close() End Sub

↑↑↑

A.2.Enlaces

[Para saber mas]
[Grupo de documentos]
[Documento Index]
[Documento Start]
[Imprimir el Documento]
© 1997 - - La Güeb de Joaquín
Joaquín Medina Serrano
Ésta página es española

Codificación
Fecha de creación
Última actualización
[HTML5 Desarrollado usando CSS3]