Domanda

Ho un codice per la galleria fotografica che esegue il ridimensionamento delle immagini e la creazione di miniature.Utilizzo ImageMagick per farlo.Ho eseguito una pagina della galleria tramite lo strumento Page Speed ​​di Google e ho rivelato che le immagini e le miniature ridimensionate contengono entrambe circa 10 KB extra di dati (in particolare i file JPEG).

Cosa posso aggiungere ai miei script per ottimizzare la dimensione del file?


INFORMAZIONI AGGIUNTIVE

Sto usando il imagick::FILTER_LANCZOS filtro con un'impostazione di sfocatura pari a 0.9 quando chiami il resizeImage() funzione.I JPEG hanno un'impostazione di qualità di 80.

È stato utile?

Soluzione

Ho trovato questa domanda SO "Strumenti per l'ottimizzazione JPEG?", che contiene alcune buone informazioni, ma le soluzioni sono esterne a PHP.Utilizzando i suggerimenti delle soluzioni a questa domanda ho scoperto che era possibile eseguire due ottimizzazioni senza perdite:

  1. Ottimizzazione delle tabelle di codifica di Huffman
  2. Rimozione dei metadati (EXIF, ecc.)

Entrambi possono essere realizzati con ImageMagick Da questa parte:

  1. Secondo Documentazione ImageMagick, le tabelle di codifica Huffman ottimali vengono calcolate per impostazione predefinita.Questo passaggio è già stato risolto, evvai!
  2. Rimozione di metadati può essere realizzato in modo molto semplice utilizzando il file stripImage() metodo.

Un'immagine che ho testato è stata ridotta di 12 KB.Il file 600x450 è passato da 63,42 KB a 51,42 KB e la miniatura 140x105 è passata da 17,98 KB a 5,98 KB.

Altri suggerimenti

Esegui le tue immagini tramite il servizio SmushIt di Yahoo, dove le immagini vengono convertite in PNG con un numero esatto di colori.Nessuna perdita di qualità, ma una perdita di peso :)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top