Colori HSL
Info
Esempi
Linguaggio
Librerie
Formule
Ultimi Inseriti

 Login

 Password

In Excel i colori vengono rappresentati da un intero (long), è prevista una funzione RGB che consente di convertire la terna RGB nel corrispondente valore Long. Per assegnare un colore id sfondo RGB alla cella attiva l'istruzione è questa:
ActiveCell.Interior.Color = RGB(255, 0, 0)
E' però comodo a volte poter lavorare con i colori in altri formati, in questa pagina alcune funzioni che consentono la conversione.


Da HSL a colore(Long)
Mentre il formato RGB esprime il colore come la somma delle sue 3 componenti rosso (Red), verde (Green) e blu (Blue), nel formato HSL viene espresso come Colore (Hue), saturazione (Saturation) e luminosità (Brightness).
E' un sistema orientato alla percezione umana del colore, rendendo visivamente "omogenei" dei colori in cui viene variato solo il parametro della tinta ma non saturazione e luminosità.

Function HSL_To_Color(ByVal H As Integer, ByVal S As Integer, ByVal L As Integer) As Long
  ' 0 <= H <= 360, 0 <= S <=100, 0 <= L <=100
  Dim R As Double: Dim G As Double: Dim B As Double
  Dim C As Double: Dim X As Double: Dim M As Double
    
  If (S = 0) Then
    R = 255
    G = 255
    B = 255
  Else
    C = (1# - Abs(2 * L / 100 - 1)) * S / 100
    X = C * (1 - Abs(H / 60 - Int(H / 60 / 2) * 2 - 1))
    M = L / 100 - C / 2
        
    Select Case (H)
      Case Is < 60
                  R = C: G = X: B = 0
      Case Is < 120
                  R = X: G = C: B = 0
      Case Is < 180
                  R = 0: G = C: B = X
      Case Is < 240
                  R = 0: G = X: B = C
      Case Is < 300
                  R = X: G = 0: B = C
      Case Else
                  R = C: G = 0: B = X
    End Select
  End If
  HSL_To_Color = RGB((R + M) * 255, (G + M) * 255, (B + M) * 255)
End Function
 

data4idea srls - PIva 01881000937 - info@data4idea.it