Differenze tra le versioni di "Convertire il formato RGBA di un colore nei corrispondenti valori decimale ed esadecimale"

Da Gambas-it.org - Wikipedia.
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 9: Riga 9:
 
   <FONT Color=green>g</font> = 150
 
   <FONT Color=green>g</font> = 150
 
   <FONT Color=blue>b</font> = 0
 
   <FONT Color=blue>b</font> = 0
   a = 255  <FONT Color=gray>' ''Nello standard RGBA il valore 255, assegnato al canale Alfa corrisponde alla la piena opacità dell colore, mentre il valore 0 corrisponde alla piena trasparenza !''</font>
+
   a = 255  <FONT Color=gray>' ''Nello standard RGBA il valore 255, assegnato al canale Alfa corrisponde alla piena opacità del colore,''
 +
            ' ''mentre il valore 0 corrisponde alla piena trasparenza !''</font>
 
    
 
    
  <FONT Color=gray>' ''Poiché in Gambas il valore zero, assegnato al canale Alfa corrisponde alla piena opacità al colore, mentre il valore 255 corrisponde alla piena trasparenza, è necessaria la conversione del valore Alfa:''</font>
+
  <FONT Color=gray>' ''Poiché in Gambas (contrariamente alo standard RGBA) il valore zero, assegnato al canale Alfa corrisponde alla piena opacità al colore, mentre il valore 255 corrisponde alla piena trasparenza, è necessaria la conversione del valore Alfa:''</font>
 
   a = 255 - a
 
   a = 255 - a
 
          
 
          
Riga 26: Riga 27:
 
  A R G B
 
  A R G B
 
e il valore del canale Alfa della piena opacità é uguale a zero, mentre il valore della piena trasparenza è 255 !
 
e il valore del canale Alfa della piena opacità é uguale a zero, mentre il valore della piena trasparenza è 255 !
 +
* http://gambaswiki.org/wiki/comp/gb.qt4/color

Versione attuale delle 17:34, 29 ago 2019

Per convertire il formato standard RGBA di un colore nei corrispondenti valori decimale ed esadecimale, come previsto in Gambas [Nota 1], possiamo adottare il calcolo contenuto nel seguente codice:

Public Sub Main()
 
 Dim b, g, r, a As Byte
 Dim colore As Long
 
' Poniamo un valore per gli elementi dello standard RGBA:
  r = 100
  g = 150
  b = 0
  a = 255   ' Nello standard RGBA il valore 255, assegnato al canale Alfa corrisponde alla piena opacità del colore,
            ' mentre il valore 0 corrisponde alla piena trasparenza !
  
' Poiché in Gambas (contrariamente alo standard RGBA) il valore zero, assegnato al canale Alfa corrisponde alla piena opacità al colore, mentre il valore 255 corrisponde alla piena trasparenza, è necessaria la conversione del valore Alfa:
  a = 255 - a
        
  colore = CLong(b Or (g * CInt(2 ^ 8)) Or (r * CInt(2 ^ 16)) Or (a * CInt(2 ^ 24)))
  
  Print colore, Hex(colore, 8)
  
End


Note

[1] ATTENZIONE ! In Gambas il colore di formato RGBA è così composto:

A R G B

e il valore del canale Alfa della piena opacità é uguale a zero, mentre il valore della piena trasparenza è 255 !