Differenze tra le versioni di "Convertire il formato RGBA di un colore nei corrispondenti valori decimale ed esadecimale"
Da Gambas-it.org - Wikipedia.
Riga 1: | Riga 1: | ||
− | Per convertire il formato RGBA di un colore, come previsto in Gambas <SUP>[[[#Note|Nota 1]]]</sup> | + | Per convertire il formato standard RGBA di un colore nei corrispondenti valori decimale ed esadecimale, come previsto in Gambas <SUP>[[[#Note|Nota 1]]]</sup>, possiamo adottare il calcolo contenuto nel seguente codice: |
'''Public''' Sub Main() | '''Public''' Sub Main() | ||
Riga 6: | Riga 6: | ||
<FONT Color=gray>' ''Il valore del colore di formato RGBA va considerato secondo Gambas come segue: <FONT Color=black>alfa</font>, <FONT Color=red>rosso</font>, <FONT Color=green>verde</font>, <FONT Color=blue>blu</font>.''</font> | <FONT Color=gray>' ''Il valore del colore di formato RGBA va considerato secondo Gambas come segue: <FONT Color=black>alfa</font>, <FONT Color=red>rosso</font>, <FONT Color=green>verde</font>, <FONT Color=blue>blu</font>.''</font> | ||
− | |||
<FONT Color=red>r</font> = 100 | <FONT Color=red>r</font> = 100 | ||
<FONT Color=green>g</font> = 150 | <FONT Color=green>g</font> = 150 | ||
− | <FONT Color=blue>b</font> = 255 | + | <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> | ||
+ | |||
+ | <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 dei valori:''</font> | ||
+ | Select Case a | ||
+ | Case 0 | ||
+ | a = 255 | ||
+ | Case 255 | ||
+ | a = 0 | ||
+ | End Select | ||
colore = CLong(b Or (g * CInt(2 ^ 8)) Or (r * CInt(2 ^ 16)) Or (a * CInt(2 ^ 24))) | colore = CLong(b Or (g * CInt(2 ^ 8)) Or (r * CInt(2 ^ 16)) Or (a * CInt(2 ^ 24))) |
Versione delle 10:52, 4 mag 2017
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 ' Il valore del colore di formato RGBA va considerato secondo Gambas come segue: alfa, rosso, verde, blu. r = 100 g = 150 b = 0 a = 255 ' 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 !
' 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 dei valori: Select Case a Case 0 a = 255 Case 255 a = 0 End Select colore = CLong(b Or (g * CInt(2 ^ 8)) Or (r * CInt(2 ^ 16)) Or (a * CInt(2 ^ 24))) Print Val("&" & Hex(colore, 8) & "&"), 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 !