Newsgroup: it.comp.lang.visual-basic
Titolo: PER ESPERTI: sui colori (leggere fino in fondo)

Ho la risoluzione messa
a 16 Milioni di colori (la massima).
In un mio programma
metto una immagine a 256 colori 
(ottenuta con la funzione 
'Optimized Octree' di PaintShopPro)
--------------------
Metto la risoluzione 
a 65 mila colori (la media),
quindi scendo.
Il programma lo faccio girare sul mio computer
ed i colori che vedo sono leggermente diversi da
quelli della mia immagine ottenuta con PSP.
E' logico che ci sia questo piccolo cambiamento,
inoltre la differenza è minima,
quindi il tutto è accettabile.
------------------
Ora mi sposto sul computer di un mio amico:
Metto sempre la risoluzione 
a 65 mila colori (la media).
Il programma lo faccio girare sul questo computer
ed i colori che vedo sono leggermente diversi da
quelli della mia immagine ottenuta con PSP.
Anche qui è logico che ci sia questo piccolo cambiamento,
*MA* su questo computer la differenza è notevole e purtroppo
non è accettabile.
----------------------------------------------
----------------------------------------------
----------------------------------------------
Ora 
non chiedo da cosa nasca questa differenza
(anche se qualcuno conoscesse la spiegazione tecnica,
sarebbe interessante)
e non chiedo di poter avere gli stessi colori
che si hanno a 65 mila colori sul mio computer,
tali e quali a quelli sul computer del mio amico
(anche se qualcuno sapesse 'se e come' si potrebbe
fare ciò, sarebbe interessante)
ma chiedo come si puo' fare,
dato che 
posso rinunciare  completamente ad usare 
l'immagine iniziale
(perchè essendo l'immagine molto piccola,
l' immagine ed i sui colori
posso permettermi di disegnarli io
sulla PictureBox con la Api SetPixel),
e
riducendo inoltre il campo a due soli colori,
dati appunti tali due colori soltanto,
facciamo un blu ed il suo più possibile vicino
per luminanza 
(coppia di colori che posso facilmente
ottenere con PSP:
devo schiarire il secondo di 4 unità,
infatti se lo schiarisco solo di 3, poi,
a 65 mila colori, mi viene visualizzato come il primo),
come si puo' fare, dicevo,
ad avere sul computer del mio amico a 65 mila colori,
tale coppia di blu
(che come sappiamo,
non potrà corrispondere alla coppia del mio computer),
ma che almeno, sul computer del mio amico,
loro due,
siano anche essi,
l' uno il succcessivo dell'altro per luminanza,
come accade sul mio computer.
----------------------------------------------
----------------------------------------------
----------------------------------------------
Spero di essermi spiegato.
Grazie
MaxiM


Direi che il problema sia dovuto al fatto che i 16 milioni di colori sono
uguali su tutti i PC (24 bit è la palette da cui vengono formate le palette
con numero inferiore di colori, anche lavorando a 32 bit in realtà vengono
utilizzati solo 24 bit di palette, gli 8 bit in più dovrebbero servire per
applicare degli effetti) mentre quando passi a un numero inferiore di colori
anche windows deve crearsi una palette per visualizzare i suoi colori
(finestre, barre, ecc...) quindi nel momento in cui visualizzi ad esempio
una immagine a 256 colori, su un sistema windows impostato a 256 colori, che
ha una palette diversa da quella del sistema operativo i colori che vengono
utilizzati sono quelli più simili ma presenti nella palette di windows (se
non sbaglio windows utilizza un effetto dithering per rendere l'immagine il
più possibile simile all'originale); se windows dovesse cambiare i colori
della sua palette ogni volta che viene caricata un'immagine vedresti i
colori del sistema operativo cambiare continuamente, per non parlare di
quando visualizzi più immagini con palette diverse (non saprebbe più quale
palette utilizzare).
Il fatto che su un PC si veda diversamente da un altro può dipendere dal
tema (colori, sfondi, ecc...) che viene utilizzato da windows in quanto
cambiano i colori della palette di windows.
Non sono molto esperto ma direi che il problema sia riconducibile a questo.
William.