Tag: Kleuren

  • Kleurfuncties zoals RGB en Webkleuren

    Soms is het nodig om kleuren te vertalen naar andere formaten.
    Excel wil bijvoorbeeld graag een RGB kleur als type Long zien, in style sheets e.d. gebruik je de Webkleuren in Hex formaat e.d.
    Meestal gebruik ik het kleurenpallet van Notes om een kleur te bepalen, en gebruik de RGB waarden om verder te werken.

    Een aantal LotusScript functies die ik dan gebruik zijn de volgende:

    Van RGB waarden naar Long (gelijk aan VBA functie, bijv. voor export naar Excel) :

    Function RGB(Byval lRed As Long, Byval lGreen As Long, Byval lBlue As Long) As Long
    ‘input 255,255,255
    Dim tmpLong As Long
    tmpLong = lRed
    tmpLong = tmpLong + (lGreen*256)
    tmpLong = tmpLong + (lBlue*Clng(65536))
    RGB = tmpLong
    ‘Output 16777215
    End Function

    Van HEX naar RGB String (met kleine aanapssing voor bijv. weergavekolommen e.d.) :

    Function HEX2RGB(Byval HexColor As String) As String
    ‘Input #FFFFFF
    HexColor = Replace(HexColor, “#”, “”)
    HEX2RGB = Val(“&H” & Mid(HexColor, 1, 2))  & “,” & Val(“&H” & Mid(HexColor, 3, 2)) & “,” & Val(“&H” & Mid(HexColor, 5, 2))
    ‘Output 255,255,255
    End Function

    Van RGB waarden naar Hex (voor Web, css e.d.):

    Function RGB2HEX(Byval lRed As Long, Byval lGreen As Long, Byval lBlue As Long) As String
    ‘ input 255,255,255
    RGB2HEX = Right(Cstr(Hex(lBlue + 256*(lGreen+256*lRed))),6)
    ‘ Output FFFFFF
    End Function

    RGB kleur naar Notes kleuren (Richtext item e.d.):

    Function RGB2NOTES(Byval lRed As Long, Byval lGreen As Long, Byval lBlue As Long) As Integer
    Dim session As New NotesSession
    Dim color As NotesColorObject
    Set color = session.CreateColorObject
    RGB2NOTES = color.SetRGB(lRed,lGreen,lBlue)
    End Function