TODOPIC
Lenguajes de programación para PC => Visual Basic => Mensaje iniciado por: Brave2004 en 25 de Enero de 2005, 07:54:00
-
Hola a todos :
Tengo un programa, que introduce una imagen en un objeto PictureBox. El tamaño del objeto PictureBox es fijo, de modo que si la imagen es más pequeña que el pictureBox, ésta se alarga hasta ocupar todo el pictureBox.
Si la imagen es más grande, se encoge, adaptandose al tamaño del PictureBox.
No consigo ninguna forma de hacerlo, alguien me puede dar una pista o decirme cómo se puede hacer utilizando el objeto PictureBox ?
Muchas gracias
-
No entiendo tu pregunta. La parte que no entiendo es si querés que el PictureBox se agrande o achique al tamaño de la imagen o que la imagen se agrande o achique al temaño del PictureBox.
De cualquier manera se puede solucionar fácil:
Para mostrar una imagen podés usar un PictureBox o un control Image. El control Image tiene la ventaja de consumir menos memoria, pero tiene algunas propiedades y eventos menos. Todo depende de lo que necesites...
Volviendo a tu problema, si querés que la imagen cambie al mismo tamaño que el control tenés que poner la propiedad "Strech" en True (sólo para el caso del control Image).
Si querés que el control se cambie al tamaño de la imagen tenés que poner la propiedad "AutoSize" en True (sólo para el caso del control PictureBox).
Así de sencillo.
Salu2.
-
Gracias por contestar
Lo que yo tengo es un control picturebox con unas dimensiones fijas, y quiero que al insertar una imagen, la imagen se adapte a las dimensiones del control PictureBox. De forma que si el tamaño de la imagen es menor que el tamaño del PictureBox, la imagen se agrande hasta ocupar todo el Picturebox.
Y si el tamaño de la imagen es mayor que el tamaño del PictureBox, la imagen disminuya su tamaño hasta ocupar el PictureBox
No puedo utilizar el objeto Image, ya que luego tengo que leer la imagen pixel por pixel, y tengo entendido que para eso el contro PictureBox ya tiene unas funciones predefinidas
-
Creo que no hay funciones predefinidas para que un PictureBox haga eso. Lo que he visto para solucionar eso es meter un Image adentro de un PictureBox y de ahí procesarlo. No sé que resultado dará, yo al menos nunca lo hice.
http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=3517&lngWId=1
Otra manera sin Image (sólo PictureBox) más sencilla...
http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=30002&lngWId=1
La otra sería hacerlo a través de funciones tipo matemáticas y con un par de API"s pero tampoco lo he hecho, aunque sé que se puede.
Fijate por acá quizás algo te pueda servir:
http://www.planetsourcecode.com/vb/scripts/BrowseCategoryOrSearchResults.asp?optSort=Alphabetical&blnWorldDropDownUsed=TRUE&txtMaxNumberOfEntriesPerPage=10&blnResetAllVariables=TRUE&txtCriteria=picturebox+resize&lngWId=1&B1=Quick+Search
Salu2.