[VB] Efecto Degradado

Iniciado por ProcessKill, Febrero 23, 2010, 04:03:13 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Febrero 23, 2010, 04:03:13 PM Ultima modificación: Julio 08, 2011, 09:23:52 AM por ANTRAX
Buenas gente. Les traigo este codigo creado por xmbeat
Sirve para hacer que el form tenga un efecto degradado.. puede ser el form, una imagen, etx
sin mas les dejo el code

Código: vb
'By xmbeat
'to foro.elhacker.net/programacion VB

Private Function Color(Col As Long) As Integer()
Const B As Long = 65536 'constante que es el resultado de 256 al Cuadrado
Const G As Long = 256
Dim elRGB(2) As Integer
Col = Abs(Col)
'aqui pueden usar el OleTranslateColor para usar los colores del sistema _
pero no lo use para no contradecir el titulo del post
elRGB(2) = Col \ B 'hacemos la operacion inversa de la funcion RGB()
elRGB(1) = (Col Mod B) \ G
elRGB(0) = (Col Mod B) Mod G
Color = elRGB
End Function

Sub Gradient(Formulario As Object, Inicio As OLE_COLOR, Final As OLE_COLOR, Optional Min As Long = 0, Optional _
Max As Long = 256)
With Formulario
.AutoRedraw = True
'min es donde empezará a pintar y Max es donde terminará de hacerlo
Dim I As Integer
Dim Ini() As Integer
Dim Fin() As Integer
Dim Dif As Long
Dim Ant As Long
Dim R As Byte, G As Byte, B As Byte

On Error Resume Next
Ant = .ScaleHeight
.ScaleHeight = 256
Ini = Color(Inicio)
Fin = Color(Final)
Dif = Max - Min

For I = Min To Max
R = Ini(0) + ((Fin(0) - Ini(0)) / Dif) * (I - Min)
G = Ini(1) + ((Fin(1) - Ini(1)) / Dif) * (I - Min)
B = Ini(2) + ((Fin(2) - Ini(2)) / Dif) * (I - Min)
Formulario.Line (0, I)-(.ScaleWidth, I + 1), RGB(R, G, B), BF

Next I

.ScaleHeight = Ant
End With
End Sub



Private Sub Form_Resize()
Const Text0 As String = "By Xmbeat"
Gradient Me, RGB(80, 80, 80), vbBlack, , 100
Gradient Me, vbBlack, RGB(10, 19, 50), 100
Me.FontSize = 24
Me.FontBold = True
Me.CurrentY = (Me.ScaleHeight - Me.TextHeight(Text0)) / 2
Me.CurrentX = (Me.ScaleWidth - Me.TextWidth(Text0)) / 2
Me.ForeColor = vbWhite
Print Text0
End Sub

ya me han


Saludos!  8)