Como extrair RGB no VB6

Escrito por sean mann | Traduzido por weber figueiredo
  • Compartilhar
  • Tweetar
  • Compartilhar
  • Pin
  • E-mail
Como extrair RGB no VB6
Extraindo RGB no VB6 (Jupiterimages/Comstock/Getty Images)

Extrair os componentes vermelho, verde e azul (RGB, do Inglês "red", "green" e "blue") de um código de cores no Visual Basic 6.0 (VB6) é muito útil para a conversão de formatos de dados de cores, entre programas diferentes. O VB6 fornece uma função "RGB" para converter cores a partir dos componentes vermelho, verde e azul em uma variável numérica de tipo "Long", entretanto, não possui uma função para fazer esta conversão de forma inversa. Além disso, os códigos de cor são armazenados no VB6 em formato little endian, o que significa que os bytes são armazenados na memória na ordem inversa. Extraia o código "RGB" das cores, a partir da criação de uma sub-rotina para processar e converter códigos automaticamente.

Nível de dificuldade:
Moderado

Outras pessoas estão lendo

Instruções

  1. 1

    Abra o arquivo em um editor de VB6, como por exemplo o Microsoft Visual Studio 6.0.

  2. 2

    Crie uma rotina para converter um código de cor VB6 em seus componentes vermelho, verde e azul, 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 Dim n As Byte Dim strHexVal As String

    strHexVal = Hex$(LColor)

    strHexVal = Right((strHexVal), 6)

    For n = 1 To (6 - Len(strHexVal)) HColor = HColor & "0" Next

    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 cor é convertido de "Long" para "Hex" para facilitar o processamento. O comando "Right((strHexVal), 6)" elimina quaisquer caracteres extras no início da string como "&H." O laço "for" acrescenta 0 antes de cada caractere para corrigir quaisquer problemas de formatação. O VB6 usa little endian para armazenar valores de cor, portanto, os bytes "rgb" estão atualmente armazenados em ordem inversa, ou seja: "BBGGRR". O código usa a função "CByte" para separar a string e recuperar os valores de vermelho, verde e azul e depois armazená-los no seu respectivo "byte".

  3. 3

    Declare as variáveis​​, defina uma cor e depois chame a sub-rotina para converter o código de cores, adicionando o seguinte código na sua função:

    Dim r, g, b As Byte Dim LColor As Long

    LColor = RGB(11, 200, 25)

    Call Hex2RGB(LColor, r, g, b)

  4. 4

    Salve o arquivo VB6, compile e execute o programa para converter o código das cores.

Não perca

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível