Extraindo os (RGB) componentes vermelho , verde e azul de um código de cores em Visual Basic 6.0 ( VB6 ) é útil na conversão de formatos de dados de cores entre diferentes programas. VB6 fornece uma função "RGB" para converter as cores de seus componentes vermelho , verde e azul em um tipo de dados "Long" numérica, mas não tem qualquer função built-in para converter em outra direção . Além disso, os códigos de cores em VB6 são armazenados usando o pequeno formato endian , ou seja, bytes são armazenados na memória em ordem inversa. Extrato de valores "RGB" de códigos de cores , adicionando uma sub-rotina para processar e converter os códigos automaticamente para você. Instruções
1
Abra o arquivo VB6 em um editor , como o Microsoft Visual Studio 6.0.
2
Criar uma sub-rotina para converter um código de cores VB6 em seu vermelho, verde e os componentes azuis , adicionando o seguinte código no seu arquivo :
Public Sub Hex2RGB ( LColor as Long , r as Byte , g as Byte , b as Byte )
Dim hcolor as String < br >
Dim n As Byte
Dim strHexVal As String
strHexVal = Hex $ ( LColor )
strHexVal = Right ( ( strHexVal ) , 6)
Para n = 1 To (6 - Len ( strHexVal ) )
hcolor = hcolor e "0"
Próxima
hcolor = hcolor & strHexVal
r = CByte ( "& H" & Right $ ( hcolor , 2))
g = CByte ( " & H " & Mid $ ( hcolor , 3, 2 ) )
b = CByte ( " & H " & Left $ ( hcolor , 2))
End Sub
O código de cores é convertido de "Long " para " Hex" para o processamento mais fácil. O "Direito ( ( strHexVal ) , 6)" comando elimina quaisquer caracteres extras no início da cadeia , como " & H. " O laço "for" acrescenta 0 de antes de cada personagem para corrigir quaisquer problemas de formatação. VB6 usa pouco endian para armazenar valores de cor para que os "RGB" bytes são realmente armazenados no sentido inverso como " BBGGRR ". O código usa a função " Cbyte " rachar a corda para recuperar os valores de vermelho , verde e azul e armazená-los cada um como um "byte ".
3
Declare variáveis , definir um cor e , em seguida, chamar a sub-rotina para converter o código de cor , adicionando o seguinte código na sua função :
Dim r, g, b as Byte
Dim LColor as Long
LColor = RGB ( 11 , 200, 25)
Chamada Hex2RGB ( LColor , r, g, b)
4
Salve o arquivo VB6, compilar e executar o programa para converter a código de cores.