Newsgroup: it.comp.lang.visual-basic
Titolo: Interfacce GUI colorate

Salve a tutti,
avete presente le interfacce grafiche dei programmi che si vedono nei fil
americani all'interno delle centrali di controllo o quelle che usano gli
hacker? Quelle tutte verdi, gran parte con testi, che fanno molto
professional?
Bene, dovrei iniziare a sviluppare un programma con interfaccia grafica
proprietaria (diversa insomma dal monotono stile win2000/xp), per cui devo
sviluppare prima tutta una serie di controlli che rispondano alle mie
esigenze grafiche.
Le schermate verdi, ad esempio, useranno X gradazioni di verde (scuro per
gli sfondi, chiaro per il bordo degli oggetti, diverse lumionosità per i
testi in base all'importanza della scritta).
Con VB ho a disposizione l'RGB che per le singole gradazioni di blu, verde e
rosso riesce a darmi 256 singoli colori. Ma mi chiedo: se ad esempio voglio
che l'interfaccia grafica sia gialla, o fucsia, o turchese ecc... come devo
fare per calcolarmi il colore?
Quali algoritmi devo usare? Come faccio per "trasformare" un verde di una
certa tonalità in un "porpora" della stessa entità?
In pratica necessito di informazioni circa l'utilizzo e trasformazione dei
colori in ambito windows (e magari pure in VB!)
Grazie, Massimo

 colori in ambito windows (e magari pure in VB!)
RGB (tutto quel che  ti serve per generare un colore) non e' altro che la
sigla RED, GREEn e BLUE (sarebbe bello che fosse il piu' utile RGBA, ma VB
pare non lo supporti).
Ad ogni modo, miscelando le varie componenti ottieni tutti i colori
possibili e immaginabili, devi solo imparare a miscelarle.
Non e' vero che usando RGB hai 256 colori, il 256 e' la "risoluzione" di
ogni singola componente, il che significa 256*256*256 colori, cioe' i famosi
16 milioni di colori.
Basta un buon libro di disegno delle medie per scoprire come sono composti i
colori, ad esempio un giallo sara' una componente rossa e verde elevata, il
ciano e' verde e blu, il viola e' formato da rosso e blu e via dicendo...
Se vuoi "trasformare" un colore in un'altro, mantenendo le stesse sfumature
(termine errato) non devi fare altro che mantenere la stessa luminosita'
badando bene di cambiare il rapporto tra le varie componenti.
Se un verde puro e' 0,256,0 per avere un giallo avrai 256,256,0, se hai un
verde scuro ad esempio 0,128,0 il relativo giallo sara' 128,128,0 etc....
Attenzione! In realta' questi esempi sono leggermente errati, perche' la
luminosita' di ogni singola componente e' diversa dalle altre, ad esempio il
rosso lo recepiamo piu' chiaro di un blu della stessa tonalita', ma piu'
scuro di un verde della stessa tonalita'.
Esistono delle tabelle di conversione, ma ora non saprei dove trovarle....
Spero sia utile....
Ciao

 ha scritto nel messaggio
news:027Ra.37621$it4.9...@news1.tin.it...


 parecchie sfumature, hai idea di come fare per ottenerle lo stesso?
32 bit per colore ??
sei sicuro di non voler dire "32 bit di colore", perche' 32 bit PER colore
mi sembrano troppi...
i 32 bit di cui parli derivano proprio da 256 tonalita per componente...
256 = 8 bit
per cui 8 bit per il rosso, 8 per il verde, 8 per il blu e 8 per
l'alpha... -> 32 bit
32 bit per ogni componente sarebbero DAVVERO tanti...
le schede video moderne cominciano solo ora ad avere buffere in formato
float, ma fino ad ora il massimo sono proprio i 32 bit...
per gli algoritmi trovi info qui :
http://www.csse.monash.edu.au/~aland/reviews/gems.contents.html
http://www.cs.rit.edu/~ncs/color/t_convert.html
http://www.delphi-gems.com/Graphics.php
(altrimenti se ti va di impazzire un pochino scarica i sorgenti di GIMP, li
c'e' sicuramente tutto quello di cui hai bisongo ;D )

 ha scritto nel messaggio
news:2l8Ra.37982$it4.9...@news1.tin.it...
