2012-09-28 15 views
22

tengo un problema con la escala de la imagen en C#.imagen Escalado del cuadro de imagen

Tengo una imagen Caja con un tamaño dado: p. width = 800px height = 600px

Estoy cargando imágenes diferentes en ese cuadro de imagen, los pequeños (400x400) y los grandes (800 + 600 + x)

Mis imágenes son cada vez cambian de tamaño si no se ajustan a caja. Pero son siempre redimensionado al MAX ancho y alto de PictureBox. Por lo tanto, la relación de aspecto es destruido.

¿Alguien puede ayudar a identificar/corregir el problema?

Clases:

Form1.cs

ImageHandling.cs (comentado)

ImageUtilities.cs

Ejemplos:

Problema 1: Mi versión
enter image description here

vs Fuente Original enter image description here

Problema 2:
Mi versión
enter image description here

vs Fuente Original
enter image description here

como yo quiero:

Solución
enter image description here

Respuesta

46
this.PictureBox1.SizeMode = PictureBoxSizeMode.Zoom; 

establece esa propiedad a su cuadro de imagen y el tamaño de la imagen se aumenta o disminuye para ajustarse al cuadro de imagen se mantiene la relación de tamaño.

Para más información: http://msdn.microsoft.com/en-us/library/system.windows.forms.picturebox.sizemode.aspx

+1

funciona ahora gracias! Eliminé mi método de cambio de tamaño y funcionó. PERO mis imágenes no tienen el tamaño original si son más pequeñas que picturebox. ¿Alguna idea? – pila

+0

entonces, ¿qué necesita cambiar el tamaño de la imagen solo si es más grande que la imagen? y mantener el tamaño si es más pequeño? –

+0

Cuando la imagen que deseo cargar es más pequeña que mi cuadro de imagen, se "acerca" como dice SizeMode, pero no quiero acercarla. Quiero mostrarlo en tamaño original manteniendo la relación de aspecto. – pila

Cuestiones relacionadas