| Walter Villa |
Oggetto ColorPalette
Salve a tutti ,sono nuovo nuovo di questo Forum e anche del linguaggio C#.
Mi chiamo Walter. Il mio problema è che non riesco a visualizzare gli elementi dell'array di oggetti Color che dovrebbero essere presenti tramite la proprieta' Palette della mia immagine Image. Vi metto il semplicissimo codice della classe: // created on 12/12/2003 at 21.53 using System; using System.Drawing; using System.Drawing.Imaging; class AppFoto { public static void Main() { Image img; img = Image.FromFile(@"C:\foto\MarinadiGrosseto\Walter\Su-e-Giu.jpg"); ColorPalette CPal; CPal = img.Palette; Console.WriteLine("{0}",CPal.Entries.Length); } } Perche mi stampa il valore 0 x la lunghezza dell'array??? Perche non contine nulla? Ho letto la documentazione della classe ColorPalette e non capisco dove sto sbagliando ?!?! Chi mi illumina??? Grazie 1000 Ciao Walter |
| Paolo Alberti |
Re: Oggetto ColorPalette
Usa un file gif al posto di una jpg,
(il formato jpg non usa una palette per la rappresentazione dei colori). Dopodiche itera tra gli elementi della palette per leggere i colori di cui è composta. foreach (Color c in CPal.Entries) { Console.WriteLine("colore "+c.ToString()); } |
| Walter Villa |
Re: Oggetto ColorPalette
GRANDISSIMO!!!!!
In vari Forum ho posto il quesito ma nessuno mi sapeva rispondere!!! Ora ci provo e poi ti faccio sapere! GRAZIE 1000000000000000000000 Walter |
| Walter Villa |
Re: Oggetto ColorPalette
Hai ragione!!! :))
FUNZIONA CON GIF!!! Mi stampa tutti i valori dei colori. Ma come si deve fare con i file JPG o Bitmap ??? Io vorrei creare un controllo che mi modifica il colori di base ARGB e il contrasto e la lumnisita della fotografia. Sai a gradi linee come ci si comporta con gli altri formati ? (A grandi linee pero'...lasciami soffrire un po a me nel risolverlo...ehehehe) Grazie molte. Ciao Walter |
| Paolo Alberti |
Re: Oggetto ColorPalette
Quando un formato contiene una palette x la descr. della tabella dei
colori ogni pixel fa riferimento alla tabella. Ad esempio un file con profondità colore di 8 bit conterrà una tabella (LookUpTable) di 256 colori. Ogni pixel non riporta il colore assoluto ma, diciamo, un puntatore alla tabella, quindi se il pixel deve essere rosso questo punterà ad una cella della tabella contenente la decrizione rgb del rosso. Variando la tabella è possibile altyerare i colori e e creare anche dei cicli creando delle animazioni. Di solito I file con Palette hanno profondità di 8 bit o meno. I formati a 16 24 o 32 utilizzano la rappresentazione assoluta dei colori. Per cambiare le caratteristiche (es. Luminosità) devi caricare in array i valori assoluti e fare degli opportuni calcoli sulla totalità dei pixel. PA |
| Walter Villa |
Re: Oggetto ColorPalette
Ho un bel problema pero'.
Tramite la classe di base ColorPalette non posso assegnare nuovi valori all'array Entries che mi permette la sola get. Come faccio? Ho provato ad assegnare ad un nuovo array di tipo Color i valori modificati dei campi delle strutture Color in modo da aver un nuovo array da assegnare a un Color Palette che poi assegneri alla proprieta Palette dell'immagine (cosi da avere il cambiamento nell'immagine ) ma non riesco per problemi di accesso in Set dell array. Come faccio????? Grazie Walter |
| Walter Villa |
Re: Oggetto ColorPalette
HO SCOPERTO IL TRUCCO!!!
Ho usato il metodo SetValue x gli array sull' array Entries. Gli ho assegnato i nuovi elementi Color modificati e ho poi riassegnato la ColorPalette (con il nuovo Entries) alla Palette della mia immagine ...eeee FUNZIONAAAA!!! Grazie ancora x le tue preziose informazioni! Ciao Walter |