Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: skyweb07 en Agosto 28, 2009, 10:26:11 am
-
Pués mi pregunta como dice el titulo es algo como redondear los bordes de las imagenes para que quede algo como esto
(http://www.bloginformatico.com/wp-content/uploads/2007/11/prueba-de-roundpic.jpg)
Es para un proyecto de Youtube o algo asi es solo para que cuando obtenga las imagenes de las canciones las redondee y quede mas chulo... ;D
-
Hola una forma raipida de hacer esto es con regiones sobre un picturebox
Option Explicit
Private Declare Function CreateRoundRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Sub Form_Load()
CreateRoundPicture Picture1
End Sub
Public Function CreateRoundPicture(PicBox As PictureBox)
Dim hRgn As Long
Dim OldScale As Long
OldScale = PicBox.ScaleMode
PicBox.ScaleMode = vbPixels
hRgn = CreateRoundRectRgn(0, 0, PicBox.ScaleWidth, PicBox.ScaleHeight, 20, 20)
SetWindowRgn PicBox.hWnd, hRgn, True
PicBox.ScaleMode = OldScale
End Function
(http://img149.imageshack.us/img149/483/image1qnv.png)
si lo notas asi la diferencia no es mucha pero bien, no esta trabajando con difuminación, si haces zoom ves que es otro el tipo de recorte
(http://img149.imageshack.us/img149/5128/image3xkt.png)
ya para hacer eso tendrias o que trabajar con GDI++ o bien trabajando el array de la imagen u otra chanchada que se me ocurre es crear cuatro iconos de 32bits (Esquinas) y lo repintas sobre el picturebox
Te sirve igual?
Saludos
-
Hey Leandro muchas gracias por la ayuda quedo perfecto en el listview queda de 10 ;) Saludos de Skyweb07 Cuidate ;D