![]()
Ho 1 colore che varia ad ogni refresh della pagina
come faccio ad ottenere il suo corrispondente + scuro?
tipo
#cfe7e7 = colore della cella
#AAD5D5 = corrispondente + scuro
![]()
Ho 1 colore che varia ad ogni refresh della pagina
come faccio ad ottenere il suo corrispondente + scuro?
tipo
#cfe7e7 = colore della cella
#AAD5D5 = corrispondente + scuro
Il corrispondete più scuro avrà un valore standard di incremento, tipo se il colore è X il suo colore più scuro è X - 50
Puoi scomporre il numero del colore X e portarlo da esadicmale a decimale, dopodiché aggiungi la variabile di incremento colore (nel nostro caso 50) e alla fine riconverti il valore decimale in esadecimale.
E' questo quello che cercavi???![]()
FEDERIX.IT - [Pillola] GRAFICA DEI FORM
...ho ancora quella forza che ti serve, quando dici "Si comincia!"
Federix
Uhmmm da come hai scritto sembra proprio quello che cerco...forse a monte io sbaglio a creare il colore random perchè faccio una cosa di questo tipo:
Dim varia, colore
varia = 999999
Randomize()
colore = left(Cdbl((varia - 1)*Rnd() + 10000 ),6)
per cui non avrò mai un valore tipo #cccccc
ma solo numerico
non sapevo come ottenere random una cosa tipo #cccccc oppure #AAD5D5 e mi sono affidato ai numeri, per cui... :master: come applico quello che mi hai detto?
faccio una cosa tipo
Dim varia, colore, colore2
varia = 999999
Randomize()
colore = left(Cdbl((varia - 1)*Rnd() + 10000 ),6)
colore2 = colore + 50
:master:
L'unica cosa che mi viene in mente è questa.
Devi avere tutta la gamma dei colori RGB, quindi 255^3 fa 16581375.
Dopodiché moltiplichi il valore massimo dei colori per un numero casuale e ne estrai solamente la parte intera, buttando via la parte dopo la virgola.
Per avere il colore scuro, abbassi i valori RGB di 10000 punti.
Poi devi fare un controllo perché può succedere che la conversione dell'RGB in esadecimale può tralasciare alcuni parametri e quindi avere un colore distorto (in esadecimale devi avere per forza una combinazione di 6 caratteri alfanumerici).
Dopodiché visualizzi i colori in una tabella:
L'unico problema è che abbassando di 10000 il valore degli RGB, si possono avere dei colori sballati se il valore RGB del colore iniziale è molto basso, quindi devi vedere un pò te come fare.codice:<% colori = 16581375 Randomize() colore_rgb = split(colori*Rnd(),",") colore = colore_rgb(0) colore_scuro = colore_rgb(0)-10000 select case len(hex(colore)) case 6 colore_hex = "#"+hex(colore) colore_scuro_hex = "#"+hex(colore_scuro) case 5 colore_hex = "#0"+hex(colore) colore_scuro_hex = "#0"+hex(colore_scuro) case 4 colore_hex = "#00"+hex(colore) colore_scuro_hex = "#00"+hex(colore_scuro) case 3 colore_hex = "#000"+hex(colore) colore_scuro_hex = "#000"+hex(colore_scuro) case 2 colore_hex = "#0000"+hex(colore) colore_scuro_hex = "#0000"+hex(colore_scuro) case 1 colore_hex = "#00000"+hex(colore) colore_scuro_hex = "#00000"+hex(colore_scuro) case 0 colore_hex = "#000000"+hex(colore) colore_scuro_hex = "#000000"+hex(colore_scuro) end select %> <table width="760" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="50"><%=colore%></td> <td height="50" bgcolor="<%=colore_hex%>">colore hex chiaro</td> </tr> <tr> <td height="50"><%=colore_scuro_hex%></td> <td height="50" bgcolor="<%=colore_scuro_hex%>">colore hex scuro</td> </tr> </table>
Vado a magnare
![]()
FEDERIX.IT - [Pillola] GRAFICA DEI FORM
...ho ancora quella forza che ti serve, quando dici "Si comincia!"
Ciao a tutti,
io mi sono fatto delle funzioncine per gestire i colori che credo possano esserti utili
codice:<% Function rgb2hex(r,g,b) dim strHex strHex = "" strHex = strHex & Right("0" & Hex(r),2) strHex = strHex & Right("0" & Hex(g),2) strHex = strHex & Right("0" & Hex(b),2) strHex = "#" & strHex rgb2hex = strHex End Function Function Hex2Dec(strHex) dim i,c,d,dec dec=0 for i=1 to Len(strHex) c = UCase(Mid(strHex,i,1)) if isNumeric(c) then d=CInt(c) else d=Asc(c)-55 end if dec=dec+(d*(16^(Len(strHex)-i))) next Hex2Dec = dec End Function Function Hex2R(strHex) dim inizio,hexR inizio=1 if Left(strHex,1)="#" then inizio=inizio+1 hexR = Mid(strHex&"000000",inizio,2) Hex2R = Hex2Dec(hexR) End Function Function Hex2G(strHex) dim inizio,hexG inizio=3 if Left(strHex,1)="#" then inizio=inizio+1 hexG = Mid(strHex&"000000",inizio,2) Hex2G = Hex2Dec(hexG) End Function Function Hex2B(strHex) dim inizio,hexB inizio=5 if Left(strHex,1)="#" then inizio=inizio+1 hexB = Mid(strHex&"000000",inizio,2) Hex2B = Hex2Dec(hexB) End Function Function CreaSfumatura(qtaColori,rda,gda,bda,ra,ga,ba) Dim stepX,strColore,xr,xg,xb stepX = (255/(qtaColori)) strColore = "" for j=0 to 255 step stepX xr = Round(j/255*ra+(255-j)/255*rda) xg = Round(j/255*ga+(255-j)/255*gda) xb = Round(j/255*ba+(255-j)/255*bda) strColore = strColore & rgb2hex(xr,xg,xb) & "," next if strColore<>"" then strColore=Left(strColore,Len(strColore)-1) CreaSfumatura = Split(strColore,",") End Function %> <HTML> <HEAD> <title>Sfumature di colori</title> </HEAD> <BODY> <% Randomize() colore = rgb2hex(Int((256)*Rnd),Int((256)*Rnd),Int((256)*Rnd)) arr = CreaSfumatura(16,Hex2R(colore),Hex2G(colore),Hex2B(colore),0,0,0) %> <table><% for i=LBound(arr) to UBound(arr)%> <tr> <td bgcolor="<%=arr(i)%>"><%=arr(i)%></td> <td><%=Hex2R(arr(i))%>, <%=Hex2G(arr(i))%>, <%=Hex2B(arr(i))%></td> </tr><% next%> </table> </BODY> </HTML>![]()