La cosa fondamentale da notare qui è che ogni formato di file immagine è il migliore per scopi specifici.
JPEG sta per “Joint Photographic Experts Group”. Tale diritto non dovrebbe dire che il formato di file .JPG è ottimizzato per le fotografie . Non funziona così bene per grafica, loghi, sfondi sfumati o piastrellati/con motivi e così via. Gli artefatti DCT (Discreet Cosine Transform) di .JPG (gli artefatti "a blocchi" che tutti conosciamo e detestiamo) sono molto più evidenti con disegni al tratto e loghi che con le foto.
PNG ha sostituito GIF per tutto ciò che GIF è sempre stato valido, tranne uno, e solo perché non è emerso uno standard chiaro: animazioni. .GIF animati sono ben noti sul Web. Esistono due standard in competizione per i PNG animati: APNG e MNG.
APNG è supportato nella maggior parte dei browser moderni ed è anche completamente retrocompatibile (l'estensione del file è .PNG, non .APNG, e se qualsiasi programma in grado di visualizzare .PNGs ma non sa APNG è "alimentato" un APNG, visualizzerà un'immagine stand-in della scelta dello sviluppatore, o il primo fotogramma dell'animazione se non viene fornito tale stand-in - per quanto riguarda il vecchio programma, è solo un ordinario frame singolo .PNG con quella immagine in esso - il resto è ignorato con sicurezza). Gecko (FF, ecc.) e Presto (Opera) lo supportano in modo nativo, e Google Chrome (utilizzando Webkit) può con un componente aggiuntivo.
MNG ha il supporto del team di sviluppo del formato PNG effettivo, ma è il suo formato e non è retrocompatibile, ma è più potente e flessibile. Al momento, solo i browser basati su KHTML (Konquerer) lo supportano: non Trident (IE), Gecko, Webkit (Chrome, Chromium, Safari), né Presto.
PNG fa tutto (tranne le animazioni se non ottimizzato con APNG) che GIF fa, e meglio. A parità di tutti gli altri, un .PNG sarà quasi sempre più piccolo di un .GIF alla stessa risoluzione e profondità di bit. Come .GIF, .PNG può supportare profondità di colore fino a 8 bit per pixel in modalità indexed color (paletted), ma a differenza di .GIF (ma come .JPEG) supporta anche la modalità direct-color a 24 bit per pixel.
In entrambe le modalità può aggiungere 8 bit di trasparenza alfa, a differenza GIF (che può solo fare trasparenza scala di colore [scegliere un colore della palette essere sostituito con trasparenza 100%, alias invisibilità] -. Anche il PNG può farlo). La trasparenza alfa produce risultati molto migliori rispetto alla trasparenza indicizzata, poiché i pixel possono essere parzialmente trasparenti, mentre con trasparenza indicizzata (l'unico tipo disponibile in.GIF) le tue scelte sono opache o invisibili. Questo fa sì che gli "aloni" attorno agli oggetti non rettangolari quando vengono posizionati contro i colori di sfondo diversi da quelli di .GIF o indicizzati .PNG era originariamente "opaco" contro. Inoltre impedisce di essere in grado di eseguire effetti come bagliori, ombre esterne e, naturalmente, oggetti colorati trasparenti (senza retinatura). La trasparenza alfa può fare tutte quelle cose con facilità, contro quasi tutti gli sfondi (i bagliori sarebbero in gran parte invisibili su uno sfondo bianco, e le ombre cadenti sarebbero invisibili sul nero, ma tu sai cosa intendo).
Sì, si può fare a 8 bit alpha trasparenza in un scala di colore .PNG! E indovina cosa? Anche Microsoft Internet Explorer 6 può visualizzarli bene, completi di trasparenza! Sono solo i file .PNG a 32 bit (colore RGB a 24 bit + alfa 8 bit) che IE6 ha soffocato e visualizzato come grigio!
Il programma più noto che può esportare PNG8 (colore indicizzato) con la trasparenza alpha è Adobe (in precedenza Macromedia) Fireworks. Photoshop "Salva per Web e dispositivi" (almeno a partire da CS3) non poteva farlo, nonostante avesse praticamente rimosso la funzione da Fireworks quando Adobe acquistava Macromedia. Può salvare PNG8, ma solo con trasparenza a colori indicizzati.
In ogni caso, i PNG completi a 32 bit (o anche a 24 bit) saranno piuttosto grandi, anche se di solito molto più piccoli dell'equivalente più vicino .BMP o .TGA o .TIFF non compresso o alcuni (a meno che non si stia provando a fare una fotografia con esso - questo è ciò che JPEG è per!). Solitamente è leggermente più piccolo di .RLE (senza compressione compressa .BMP) o compresso senza perdita. TIF, a parità di tutti gli altri.
A differenza della maggior parte di questi altri formati, PNG supporta anche il colore RGB a 48 bit, con opzionali 16 bit di trasparenza alfa, per una qualità estremamente elevata (molto più elevata della maggior parte dei monitor). Questi sono i migliori usati come un formato di memorizzazione intermedio, per conservare le informazioni da uno scanner ad alta profondità di bit o da una fotocamera (modalità RAW) o alcuni di questi. Le loro dimensioni dei file sarebbero piuttosto grandi, nonostante la compressione senza perdita di dati.
Una cosa che .PNG al momento non può fare è gestire spazi di colore non RGB come CMYK o L * a * b.
In breve:
- Per le fotografie, utilizzare .JPG.
- Per disegni al tratto e logo di colore limitato, utilizzare il colore indicizzato .PNG (PNG8), con trasparenza alfa se necessario.
- Per la linea arte e loghi di colore esteso (ad es un sacco di riempimenti sfumati, cromo-tipo effetti di riflessione metallici, ecc ), utilizzare .PNG-colore diretta (PNG24) con l'alfa, se necessario, se si vuole la migliore qualità o la necessità di trasparenza (e non preoccupatevi se non funziona in IE6 o utilizzare una delle varie soluzioni di IE6 per i PNG trasparenti), e non preoccupatevi dei file più grandi e dell'uso della larghezza di banda. Altrimenti, usa .JPG, ma sii consapevole che la qualità sarà degradata. Potrebbe essere necessario alzare piuttosto in alto la qualità JPEG, specialmente per i logo o altri elementi grafici con "testo" al loro interno, il che ridurrebbe le dimensioni del file.
- Per animazioni non Flash/Silverlight/video/HTML5 Canvas, .GIF se la scelta principale al momento è pronta per passare a APNG (non penso che l'MNG la supererà, nonostante il supporto più ufficiale dagli sviluppatori JPEG).
Forse chiamarlo ** Come posso produrre PNG più piccoli da ImageMagick? ** – sam
nah .. Volevo scoprire perché, una volta che so 'il perché 'del problema, di solito riesco a capire la soluzione' the how ':-) – konung
Ricerca PNG indicizzati, la sua dimensione sarà paragonabile a GIF (poiché GIF è i ndexed). – user