AUMENTAR LUMINOSIDADE DA COR

ERIC 04/10/2004 14:39:07
#44494
Olá, gostaria de saber como faço para aumentar a luminosidade de uma cor, por exemplo eu seleciono a cor Azul Forte RGB(0, 0, 255) e quero que o programa me retorne o Azul forte, o meio forte, o médio, e meio fraco e o fraco. Alguém sabe como posso fazer isso?
USUARIO.EXCLUIDOS 04/10/2004 15:04:55
#44499
Resposta escolhida
  '------------------------------+
' DateTime : 04/10/2004 15:06 |
' Author : Flávio Paganini |
'------------------------------+
Option Explicit

Private Function RetornarNivelCor(Cor As OLE_COLOR, Nivel As Integer) As OLE_COLOR
Dim TCor As OLE_COLOR
Dim Azul As Long
Dim Verde As Long
Dim Vermelho As Long

Vermelho = Cor And 255
TCor = Cor - Vermelho
Verde = (TCor And 65280) / 256
TCor = TCor - Verde
Azul = (TCor And 16711680) / 65536

Vermelho = Vermelho + Nivel
Verde = Verde + Nivel
Azul = Azul + Nivel

Vermelho = IIf(Vermelho < 0, 0, Vermelho)
Verde = IIf(Verde < 0, 0, Verde)
Azul = IIf(Azul < 0, 0, Azul)

RetornarNivelCor = RGB(Vermelho, Verde, Azul)
End Function
Private Sub Command2_Click()
Me.BackColor = RetornarNivelCor(Me.BackColor, 5)
End Sub
Private Sub Command1_Click()
Me.BackColor = RetornarNivelCor(Me.BackColor, -5)
End Sub
Private Sub Form_Load()
Me.BackColor = vbBlue
End Sub
Tópico encerrado , respostas não são mais permitidas