Quale formato è migliore per il salvataggio di immagini destinate ai siti Web; PNG o SVG?


Risposte:


8

Direi PNG semplicemente per il fatto che sembra essere un formato più accettato di SVG.


3
Per qualità SVG è meglio, ma in pratica l'unica vera soluzione è PNG perché SVG non è supportato a livello globale a questa data corrente.
Littlemad,

@Littlemad Anche il rendering e la visualizzazione di SVG è più lento della semplice aggiunta di un'immagine a un PNG.
Mateen Ulhaq,

1
@Littlemad Non è necessario. È possibile utilizzare la soluzione alternativa VML per IE <9, oppure è possibile pre-renderizzarlo sul server o persino utilizzare un embed basato su flash che lo esegue il rendering su IE. Tutti i browser (almeno quelli principali) supportano SVG, solo IE 6, 7 e 8 ci stanno cercando. Quindi usa qualsiasi soluzione alternativa che non sia orribile, se vedono un sito peggiore, è colpa loro. È molto simile a SDTV vs HDTV o DVD vs BluRay.
Camilo Martin,

1
Nel 2014 questa risposta dovrebbe probabilmente essere a favore degli SVG.
Hanna,

1
2015 caniuse.com/#search=svg - praticamente nessun IE8
goodship11

18

La semplice risposta qui è usare entrambi.

Il fatto che tu abbia chiamato SVG come opzione, significa che possiamo escludere la grafica fotografica come un caso d'uso previsto, perché gli SVG sono buoni solo per la grafica line-art come loghi, icone e illustrazioni simili a clip art.

Se stai prendendo in considerazione questa scelta per la grafica fotografica, non c'è scelta; Il PNG probabilmente sarà sempre migliore. Per la grafica in cui SVG è un'opzione praticabile, SVG è l'opzione migliore con un fallback PNG / JPEG. PNG ha molti punti di forza, ma in termini di scalabilità e dimensione del file, spesso non corrisponde a SVG.

Usando solo l'uno o l'altro significa che dovrai sacrificare la retrocompatibilità o il miglioramento progressivo.

Pesandoli l'uno contro l'altro, PNG sarà sicuramente supportato da più browser rispetto a SVG in questo momento, ma le risoluzioni dei dispositivi appena rilasciati sono in costante aumento, il che significa che i PNG dovranno essere serviti in base a un'ampia varietà di risoluzioni diverse (tramite Media Query, JavaScript o User Agent Sniffing) o ridimensionato dai browser, che potrebbe produrre alcuni risultati imperfetti.

Guardando ciò che sappiamo il futuro riserva; risoluzioni sempre più alte, supporto più ampio e uso più ampio di SVG su Internet; ha senso costruire per quello che sta arrivando.

In generale, i siti Web dovrebbero essere costruiti per durare per molti anni; tra 5 anni il tuo sito Web meravigliosamente retrocompatibile potrebbe sembrare sorprendente per il 2% degli utenti di Internet che usano ancora vecchi browser, ma abbastanza scarso sui browser aggiornati con risoluzioni pazze - quindi è davvero una pila di scelte difficili su come compromesso.


Le tue opzioni a novembre 2014

  1. Solo PNG

    • Per motivi di qualità dovrai servire almeno cinque versioni diverse a seconda delle dimensioni e delle risoluzioni dello schermo - e questa è una stima molto conservativa, potresti finire con 10-15 versioni della stessa immagine se vuoi essere estremamente accurato . Anche questo richiede del tempo per essere implementato.

    • Se scegli di pubblicare un singolo elemento grafico e di ridimensionarlo con il browser, i risultati saranno probabilmente meno che perfetti e potrebbero persino essere brutti a seconda della quantità di ridimensionamento.

    • Un gran numero di media query potrebbe gonfiare inutilmente il CSS e influire negativamente sulla velocità di caricamento della pagina.

    • Apparirà fantastico su browser e dispositivi più vecchi, ma non così tanto su quelli più recenti.

  2. SVG con fallback PNG / JPEG / GIF singolo

    • È possibile utilizzare SVG ovunque e quindi ripristinarlo in un altro formato per i browser che non supportano SVG. Il vantaggio principale è che è necessario un solo file per tutte le diverse risoluzioni.

    • Se scendi a compromessi e accetti che gli utenti di browser obsoleti possano vivere con grafica in scala imperfetta, avrai bisogno solo di un'altra versione di ciascun file in formato PNG, JPEG o GIF.

    • Ciò richiederebbe un tempo simile per essere implementato come le query multimediali solo PNG - forse anche meno, il che significa che probabilmente avrebbe lo stesso prezzo.

    • Avrà un bell'aspetto su tutti i nuovi dispositivi, con sacrifici sulla tecnologia più vecchia.

  3. SVG con fallback multipli PNG / JPEG / GIF dipendenti dalla risoluzione e dalle dimensioni dello schermo

    • Potresti prima servire SVG e poi PNG dipendenti dalla risoluzione per browser che non supportano SVG. Questa sarebbe l' opzione più completa, più retrocompatibile e più avanzata, più coerente e costosa in termini di tempo.

    • Probabilmente ci vorrebbe tanto tempo quanto 1 e 2 combinati, oltre a un piccolo extra per elaborare i nodi.

    • Apparirà fantastico su quasi tutti i dispositivi.


In sintesi, penso che dipende dal fatto che siete alla ricerca di compatibilità più arretrata o il miglioramento più progressiva, e quanto denaro tempo dovete spendere.


1
Potresti menzionare qualcosa <picture>sull'elemento che aiuta con varie dimensioni di immagine
Zach Saucier,

15

SVG è scalabile, se hai una grafica vettoriale che è un chiaro vantaggio. Per la pixel grafica PNG è meglio. Un aspetto negativo è che Internet Explorer supporta SVG solo con la prossima versione 9 (prima con plugin). I browser mobili possono anche avere un supporto limitato per SVG.

EDIT : Come sottolinea ClemDesm, le versioni precedenti di IE non supportano il PNG completamente trasparente, poiché è supportato IE8. I PNG non trasparenti funzionano bene. La risposta di Computerish ha un'ottima soluzione per la gestione delle immagini vettoriali per ora: tienili come SVG, ma esportali per il web come PNG. Sono pienamente d'accordo con questa soluzione.


-1 Svg non è ancora supportato a livello globale Non suggerirei l'uso se non spieghi chiaramente dove sta funzionando e un'alternativa di riserva nel caso in cui non funzioni (molto probabilmente). Dobbiamo considerare gli standard web che stiamo cercando di raggiungere. Se la scelta è per il web ed è per PNG o SVG, dovrebbe essere sempre PNG, fino a quando SVG non è supportato a livello globale da browser di una generazione precedente. Mi piacerebbe usare la perfezione SVG, ma non è ancora una realtà.
Littlemad,

Come ho scritto, IE non ha supporto SVG (solo nella versione 9 fino ad ora futura) e anche il browser mobile potrebbe non avere supporto.
Mnementh,

@Littlemad: il downvote è un po 'esagerato poiché 1- la risposta ci dice che non è pienamente supportato (ok, non così tanti dettagli ma, tuttavia, è detto e non sbagliato, non merita un -1) 2- canale alfa PNG non è supportato neanche in IE6 e 7 e non ne hai parlato? :)
Shikiryu,

@ClemDesm: Ah, buon suggerimento, gli IE più vecchi non supportano completamente i PNG trasparenti.
Mnementh

1
@Littlemad "non è supportato in molti browser recenti" Sembra una conclusione errata, poiché nel riferimento collegato esiste un solo browser, che non è in grado di gestire SVG (IE8). Inoltre non è necessario installare plug-in per utilizzare SVG (mai visto, forse in IE6). Quello che vedi in rosso sul riferimento collegato sono parti di SVG, che non utilizzerai principalmente (principalmente qualche tipo di filtro o altri effetti). Le basi funzionano.
feeela,

5

Sicuramente usare PNG per un sito Web. SVG semplicemente non è sufficientemente ampiamente supportato e ha pochi (se presenti) vantaggi significativi rispetto al PNG per un'esportazione appiattita. Detto questo, conserva tutte le tue copie funzionanti in SVG.


1
Buona soluzione per conservare l'originale come SVG ed esportarlo in PNG per il web. Se in seguito SVG viene supportato meglio, è possibile modificarlo. Consiglierei quella soluzione per le immagini vettoriali.
Mnementh

2
"ha pochi (se presenti) vantaggi significativi rispetto al PNG" Cosa? Come manipolate i PNG tramite CSS o JavaScript? Come li ridimensionate, senza perdere la risoluzione? Come si collegano parti di un'immagine (ad esempio un collegamento paese su una mappa)? I file SVG di solito sono anche molto più piccoli dei PNG (ad eccezione delle icone minuscole).
feeela,

3
SVG ha molti vantaggi rispetto a PNG per le illustrazioni vettoriali.
DA01,

0

Vorrei rimanere con PNG per essere al sicuro. SVG non è ancora pienamente accettato da molte grandi aziende e browser Internet. Sebbene gli SVG siano scalabili e siano vettori, spesso non sono necessari, occupano più spazio e complicano il sito Web.

Spero che abbia risposto alla tua domanda :)


"occupare più spazio e complicare troppo"? Come mai?
DA01,

1
Sono abbastanza sicuro che potrebbe avere un impatto sul tuo SEO in quanto le tue immagini potrebbero non essere visualizzate su Google e non sono sicuro al 100%, ma spesso accade che gli SVG impiegano più tempo a caricarsi
nicolos,

2
Il tempo di caricamento si basa sulla dimensione del file, di cui gli SVG possono spesso essere molto più piccoli. E se la ricerca di immagini di Google è importante per la SEO dei tuoi siti, sì, PNG potrebbe essere migliore, ma penso che sia più una cosa di nicchia.
DA01,

1
Sì, intendo alla fine della giornata non c'è una risposta giusta o sbagliata. Le dimensioni del file dipendono molto dalla complessità dell'immagine e, sì, la scelta dipende dal caso d'uso. Stavo semplicemente affermando i pro ei contro dei diversi tipi di file :)
nicolos,

-1

Anche se SVG non è accettato a livello globale e alcune persone hanno un frustrante ridimensionamento dei PNG, ho sempre scoperto che la creazione di un'icona all'interno di Adobe Illustrator funziona meglio nel ridimensionare o ridurre un importo "ragionevole".


Adobe Illustrator consente pngs o svg o entrambi o qual è il motivo esatto per nominare Illustrator qui? E perché pensi che svg non sia accettato a livello globale?
Mensch,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.