Pregunta: | 34271 - MANEJO DE IMAGENES |
Autor: | Cristian Arley Salas cano |
Como puedo rotar una imagen en un picturebox |
Respuesta: | angel bueno |
Rotar una imagen
El código que veremos a continuación sirve para rotar una imagen 90, 180 y 270 grados. Esta imagen puede estar contenida en cualquier objeto que tenga la propiedad hDC (formulario, picture, etc). Se le pasan como parámetros el hDC del objeto que contiene la imagen, los grados a rotar, y las coordenadas del área que queremos rotar (en pixels). Este código emplea Get y Set BitmapBits para rotar una imagen dentro de un hDC. Como usa intensamente matrices, se puede incrementar la velocidad de ejecución en el ejecutable compilado desactivando el chequeo de los límites de los arrays. Pega este código en un módulo : Ver Código Y para usarlo, simplemente : RotatePicture Me.hDC, amount180Degrees, 0, 0, 300, 300 He realizado algunas pruebas con picturebox y parece que tiene en cuenta los bordes, por lo que hay que restarle algunos pixels : Codigo: RotatePicture Picture1.hDC, amount180Degrees, 0, 0, (Picture1.Width / Screen.TwipsPerPixelX) - 4, (Picture1.Height / Screen.TwipsPerPixelY) - 4 |
Respuesta: | Hector Shamir Perez |
Hola Cristian,
Lo que quieres no es posible, para eso tendrías que utilizar otro control ActiveX. Los Image y PictureBox son solo para mostrar imagenes, con la diferencia que el Image puedes var la imagen de diferentes tamaños y el PictureBox funciona ademas como contenedor. Te recomendaría buscar un control que haga lo que quieres. Lamento no haberte sido util. |