Ho 5.000 immagini che devo comprimere (per visualizzarle sul mio sito Web).
Sono nuovo di Ubuntu. Quindi cosa devo fare?
Ho 5.000 immagini che devo comprimere (per visualizzarle sul mio sito Web).
Sono nuovo di Ubuntu. Quindi cosa devo fare?
Risposte:
La parola "compressione" sembra essere interpretata male in questa domanda, ma è ancora valida a seconda del contesto in cui si desidera vederlo.
Diciamo che i web designer, gli sviluppatori Web e / o i webmaster devono "comprimere" i nostri file di immagine per renderli sufficientemente "leggeri" per essere caricati rapidamente nel nostro hosting se stiamo lavorando direttamente su un vero ambiente di produzione. Ciò non influirà se stessimo lavorando in un ambiente di produzione di test locale.
Molte delle risposte sembrano riferirsi ad altre cose, causate principalmente a causa di - probabilmente - non hanno affrontato un simile scenario. Ecco perché inizio a spiegarlo.
Così. Comprendiamo cosa deve risolvere la risposta:
Per prima cosa capiamo quale dovrebbe essere un '"immagine leggera".
Le immagini ad alta definizione, con risoluzioni superiori a 1024 px, possono avere file di grandi dimensioni. Fornisco un esempio in questo screenshot:
Nella finestra delle proprietà del file possiamo vedere che si tratta di un file da 9,5 MB, che ritarderà molto il caricamento e ritarderà molto al fine di renderizzare sullo schermo quando viene pubblicato su un sito Web.
Tuttavia, la dimensione dell'immagine e la risoluzione della griglia sono davvero utili per una stampa ad alta definizione. Quindi questo è uno scenario diverso che non tratterò in questa spiegazione.
Quindi, come posso usare questa immagine in un sito Web, senza aspettare anni per caricare e aspettare qualche altro anno per mostrarla sul mio sito?
E quando parliamo di "compressione", dobbiamo esplicitamente cambiare la sua qualità per renderla utilizzabile per il caso che stiamo affrontando.
Quindi, lasciamo cadere il prossimo in un terminale:
convert seminario-tabloide.png test.jpg
Questo sta per convertire il formato PNG ad alta definizione in un formato JPG "compresso", che di per sé è un file più piccolo! Va da 9,5 MB a 2,4 MB.
Ma 2,4 MB ha ancora una dimensione di file grande. Ora giochiamo con alcuni altri comandi di conversione di ImageMagick per creare file di dimensioni inferiori:
convert test.jpg -quality 50% test-50p.jpg
Questo è ciò che dobbiamo fare per "comprimere" un'immagine. Ciò ridurrà la qualità dell'immagine del 50% e fornirà una dimensione di file di 938,4 KB <=== (Nota: KILOBYTES, nemmeno un Megabyte).
Possiamo andare oltre e creare file di dimensioni inferiori regolando la percentuale nello stesso comando tramite:
convert test.jpg -quality 30% test-30p.jpg
Tieni presente che in questo esempio stiamo riducendo la qualità del file, non le dimensioni dell'immagine. Ciò si tradurrà in un file compresso che non viene influenzato visivamente quando viene visualizzato sullo schermo, ma vedrai i manufatti quando si stampa in un formato carta grande (più grande della lettera).
Adesso. Possiamo fare una cosa diversa. Un paio di cose in effetti: possiamo prima ridimensionare le immagini e applicare successivamente la compressione, il che si tradurrà in una dimensione del file inferiore rispetto all'originale e fornirà un'immagine utile per il rendering sullo schermo, non così buono per la stampa ma sembra che noi è necessario visualizzarlo sullo schermo e non in uno striscione stampato, giusto?
Quindi facciamolo:
convert seminario-tabloide.png -resize 1024x test-1024x.jpg
Con questa istruzione, chiediamo che l'immagine venga ridimensionata con una larghezza di 1024 pixel per qualsiasi quantità di pixel necessaria per non perdere le proporzioni.
Ora ... indovina un po '?
La dimensione del file è stata ridotta da 9,5 MB a ... (musica suspense con congas per favore) 433,7 KILOBYTES
Se desideriamo comprimere al massimo un file compresso massimo come questo, dovremo affrontare alcuni dati generali inseriti nel file e risulterà in una dimensione del file più grande. Quindi non ti suggerirò di provare, ma se ti aspetti che io faccia l'esempio, ok ... Eccoci!
convert test-1024x.jpg -quality 50% test-1024x-50p.jpg
E siamo passati da 433,7 KB a 176,2 KB in un solo comando. Questo esempio ha avuto esito positivo, tuttavia non aspettatevi che alcun esercizio dia luogo a file di dimensioni inferiori. Ma puoi divertirti molto quando esegui questo tipo di esercizi.
Oh! Ma quasi dimentico una delle esigenze: applicare questo processo a molte immagini con facilità.
Per tale cosa possiamo farlo con due processi.
Questo è più veloce e più facile. Quindi diciamo al terminale che dobbiamo eseguire le stesse istruzioni in tutti i file in una directory, dopo di che spiegherò altre istruzioni.
Converti tutto in 1024px (puoi usare qualsiasi quantità di pixel)
for i in *; do convert $i -resize 1024x $i-1024x.jpg; done;
Qui chiediamo al comando di eseguire le stesse istruzioni per tutti i file in una directory, applicare la trasformazione e rilasciare una copia con un nome diverso per rendere più semplice la selezione.
Riduci la qualità in percentuale (usa qualsiasi percentuale che desideri) a tutte le immagini in una directory:
for i in *-1024x.jpg; do convert $i -quality 50% $i-50p.jpg; done;
Qui stiamo chiedendo di ridurre la qualità delle immagini ridimensionate per ridurne le dimensioni.
Puoi giocare con questi comandi e vedere i tuoi risultati. Dopo un paio d'ore divertendoti sarai un esperto.
Il 20 aprile 2015 ho dovuto affrontare una situazione del genere, quindi ho dovuto fare delle ricerche e chiedere aiuto su una domanda. Ecco perché ora ne so molto. Non pensare di essere nato con questa conoscenza, amico.
Se non sei abituato ai terminali e / o desideri utilizzare una GUI per scegliere semplicemente i tuoi gruppi di file e applicare le trasformazioni, puoi creare il tuo Script azioni Nautilus per fare semplicemente clic con il pulsante destro del mouse sul gruppo di file e scegliere un'opzione dal menu contestuale.
Per istruzioni su come eseguire questa operazione, leggi qui la domanda, la risposta e i commenti: Come elaborare in batch le immagini JPG per modificarne la qualità con Nautilus-Actions?
In bocca al lupo!
convert
Le abilità della riga di comando di ImageMagick sono eccezionali.
convert photo.jpg -quality 70% photo_compressed.jpg
formato del comando e ha funzionato alla grande! Anche impostando la compressione su solo il 70% della qualità originale, la dimensione della foto è stata ridotta a ~ 37% dell'originale, poiché l'effetto viene ingrandito trovandosi su entrambi gli assi xey.
mogrify -resize 1600 -path dir_name -format JPG -quality 90 *.tif
Se ti riferisci alle immagini jpeg, la compressione di fatto non è possibile. Poiché jpeg è per definizione un formato di file compresso (tutti i pixel di rumore e inutili sono già stati rimossi). Puoi comprimerli bene, ma le dimensioni totali rimarranno più o meno le stesse. L'unico algoritmo di compressione avanzato che conosco per jpegs è zipx. Ma zipx è di proprietà di Winzip e garantisce un max. taglia ridotta del 30% (in modalità archivio zipx).
Per visualizzare le tue immagini sul Web, devi prima ridimensionarle (meno di 1 MB per ciascuna) e facoltativamente convertirle in formato file png. PNG (= grafica di rete portatile) è appositamente ottimizzato per un trasferimento Web più veloce e una visualizzazione più rapida. Gli utenti esperti possono persino convertire quelle immagini in formato webp (formato Google per immagini, algoritmo di caricamento più veloce).
Puoi convertire in batch le immagini con XnConvert, quindi ridimensionare in batch le tue immagini con XnView. Scarica il pacchetto deb da qui: http://www.xnview.com/de/xnviewmp/#downloads , quindi fai clic con il pulsante destro del mouse su di esso e aprilo con Gnome Software.
Se non ti interessa la velocità di caricamento della rete, ma ti preoccupi della qualità, dovresti mantenere intatte le tue immagini e creare una libreria digitale per loro. Forse caricarli su un server pubblico (Yahoo, Google, ecc.).