Ich habe 5.000 Bilder, die ich komprimieren muss (um sie auf meiner Website anzuzeigen).
Ich bin neu in Ubuntu. Also was mache ich?
Ich habe 5.000 Bilder, die ich komprimieren muss (um sie auf meiner Website anzuzeigen).
Ich bin neu in Ubuntu. Also was mache ich?
Antworten:
Das Wort "Komprimierung" scheint in dieser Frage falsch interpretiert zu werden, es ist jedoch noch gültig, je nachdem, in welchem Kontext Sie dies sehen möchten.
Stellen wir uns vor, dass Webdesigner, Webentwickler und / oder Webmaster unsere Bilddateien "komprimieren" müssen, um sie so "leicht" zu machen, dass sie schnell auf unser Hosting hochgeladen werden können, wenn wir direkt an einer realen Produktionsumgebung arbeiten. Dies hat keinen Einfluss darauf, ob wir in einer lokalen Testproduktionsumgebung arbeiten.
Viele der Antworten scheinen sich auf andere Dinge zu beziehen, die größtenteils darauf zurückzuführen sind, dass sie sich - wahrscheinlich - keiner solchen Szenerie gestellt haben. Deshalb beginne ich das zu erklären.
So. Lassen Sie uns verstehen, was die Antwort zu lösen hat:
Lassen Sie uns zunächst verstehen, was ein "leichtes Bild" sein sollte.
High Definition-Bilder mit Auflösungen über 1024px haben möglicherweise eine große Dateigröße. Ich liefere ein Beispiel für diesen Screenshot:
Im Fenster mit den Dateieigenschaften sehen wir, dass es sich um eine 9,5-MB-Datei handelt, die beim Hochladen viel Zeit und beim Rendern auf dem Bildschirm viel Zeit in Anspruch nimmt, wenn sie auf einer Website veröffentlicht wird.
Trotzdem sind die Bildgröße und die Rasterauflösung für einen hochauflösenden Druck sehr nützlich. Das ist also eine andere Szenerie, die ich in dieser Erklärung nicht behandeln werde.
Wie kann ich dieses Bild auf einer Website verwenden, ohne Jahre auf das Hochladen zu warten und einige Jahre auf das Anzeigen auf meiner Website zu warten?
Und wenn wir von "Komprimierung" sprechen, müssen wir ausdrücklich die Qualität ändern, um sie für den vorliegenden Fall nutzbar zu machen.
Lassen Sie uns also den nächsten in einem Terminal ablegen:
convert seminario-tabloide.png test.jpg
Dies wird das hochauflösende PNG-Format in ein "komprimiertes" JPG-Format konvertieren, das für sich genommen eine kleinere Datei ist! Es geht von 9,5 MB auf 2,4 MB.
Aber 2,4 MB ist noch eine große Dateigröße. Spielen wir jetzt mit einigen anderen ImageMagick- Konvertierungsbefehlen , um kleinere Dateien zu erstellen:
convert test.jpg -quality 50% test-50p.jpg
Dies ist, was wir tun müssen, um ein Bild zu "komprimieren". Dies reduziert die Bildqualität um 50% und liefert eine Dateigröße von 938,4 KB <=== (Hinweis: KILOBYTES, nicht einmal ein Megabyte).
Wir können noch weiter gehen und eine kleinere Dateigröße erstellen, indem wir den Prozentsatz im selben Befehl anpassen:
convert test.jpg -quality 30% test-30p.jpg
Beachten Sie, dass in diesem Beispiel die Qualität der Datei und nicht die Bildgröße reduziert wird. Dies führt zu einer komprimierten Datei, die beim Rendern auf dem Bildschirm nicht visuell beeinträchtigt wird. Die Artefakte werden jedoch angezeigt, wenn Sie in einem großen Papierformat (größer als ein Buchstabe) drucken.
Jetzt. Wir können etwas anderes machen. In der Tat ein paar Dinge: Wir können zuerst die Größe der Bilder ändern und danach die Komprimierung anwenden, was zu einer kleineren Dateigröße als das Original führt und ein nützliches Bild für das Rendern auf dem Bildschirm liefert, das sich nicht so gut zum Drucken eignet, wie es scheint muss es auf dem Bildschirm und nicht in einem gedruckten Banner angezeigt werden, oder?
Also machen wir das:
convert seminario-tabloide.png -resize 1024x test-1024x.jpg
Mit dieser Anweisung bitten wir Sie, die Größe des Bilds so zu ändern, dass es 1024 Pixel breit ist, um das Seitenverhältnis nicht zu verlieren.
Nun ... raten Sie mal was?
Die Dateigröße wurde von 9,5 MB auf ... reduziert (Suspense-Musik mit Congas bitte). 433,7 KILOBYTES
Wenn wir eine maximal komprimierte Datei wie diese maximal komprimieren möchten, werden einige Overhead-Daten in die Datei eingefügt, was zu einer größeren Datei führt. Also werde ich nicht vorschlagen, dass Sie es versuchen, aber wenn Sie erwarten, dass ich das Beispiel mache, ok ... Los geht's!
convert test-1024x.jpg -quality 50% test-1024x-50p.jpg
Und wir sind mit einem einzigen Befehl von 433,7 KB auf 176,2 KB gewechselt . Dieses Beispiel war erfolgreich. Erwarten Sie jedoch nicht, dass Übungen zu kleineren Dateigrößen führen. Aber Sie können viel Spaß beim Ausführen dieser Art von Übungen haben.
Oh! Aber ich vergesse fast eines der Bedürfnisse: Diesen Prozess mühelos auf viele Bilder anzuwenden.
Dafür können wir es mit zwei Verfahren tun.
Das geht schneller und einfacher. Sagen wir also dem Terminal, dass wir dieselbe Anweisung in allen Dateien in einem Verzeichnis ausführen müssen. Danach erkläre ich eine andere Anweisung.
Alle in 1024px konvertieren (Sie können eine beliebige Pixelanzahl verwenden)
for i in *; do convert $i -resize 1024x $i-1024x.jpg; done;
Hier fordern wir den Befehl auf, dieselbe Anweisung für alle Dateien in einem Verzeichnis auszuführen, die Umwandlung anzuwenden und eine Kopie mit einem anderen Namen abzulegen, um die Auswahl zu vereinfachen.
Reduzieren Sie die Qualität um einen Prozentsatz (verwenden Sie einen beliebigen Prozentsatz) für alle Bilder in einem Verzeichnis:
for i in *-1024x.jpg; do convert $i -quality 50% $i-50p.jpg; done;
Hier bitten wir Sie, die Bildgröße zu verkleinern, um die Dateigröße zu verringern.
Sie können mit diesen Befehlen spielen und Ihre Ergebnisse sehen. Nach ein paar Stunden Spaß werden Sie ein Experte sein.
Am 20. April 2015 war ich mit einer Situation wie der ursprünglichen konfrontiert, daher musste ich nachforschen und um Hilfe bei einer Frage bitten. Deshalb weiß ich jetzt viel davon. Glaube nicht, dass ich mit diesem Wissen geboren wurde, Mann.
Wenn Sie nicht an Terminals gewöhnt sind und / oder eine grafische Benutzeroberfläche verwenden möchten, um einfach Ihre Dateigruppen auszuwählen und die Transformationen anzuwenden, können Sie Ihr eigenes Nautilus-Aktionsskript erstellen, um einfach mit der rechten Maustaste auf die Dateigruppe zu klicken und auszuwählen eine Option aus dem Kontextmenü.
Eine Anleitung dazu finden Sie in den folgenden Fragen, Antworten und Kommentaren: Wie kann man JPG-Bilder stapelweise verarbeiten, um die Qualität mit Nautilus-Actions zu ändern?
Viel Glück!
convert
Befehlszeilenfähigkeiten von ImageMagick sind großartig.
convert photo.jpg -quality 70% photo_compressed.jpg
Befehlsformat verwendet und es hat super funktioniert! Durch Einstellen der Komprimierung auf nur 70% der Originalqualität wurde die Fotogröße auf ~ 37% des Originals reduziert, da der Effekt sowohl auf der x- als auch auf der y-Achse vergrößert wird.
mogrify -resize 1600 -path dir_name -format JPG -quality 90 *.tif
Wenn Sie sich auf JPEG-Bilder beziehen, ist de facto keine Komprimierung möglich. Da JPEG per definitionem ein komprimiertes Dateiformat ist (Rauschen und unbrauchbare Pixel sind bereits entfernt). Sie können sie in Ordnung zippen, aber die Gesamtgröße bleibt in etwa gleich. Der einzige fortgeschrittene Komprimierungsalgorithmus, den ich für JPEGs kenne, ist zipx. Zipx ist jedoch Eigentum von Winzip und gewährleistet eine max. Größenreduzierung um 30% (im zipx-Archivmodus).
Um Ihre Bilder im Web anzuzeigen , sollten Sie zunächst die Größe ändern (jeweils unter 1 MB) und sie optional in das PNG-Dateiformat konvertieren. PNG (= Portable Network Graphics) ist speziell für eine schnellere Webübertragung und eine schnellere Anzeige optimiert. Fortgeschrittene Benutzer können diese Bilder sogar in das Webp-Format konvertieren (Googles Format für Bilder, schnellster Ladealgorithmus).
Sie können Bilder mit XnConvert stapelweise konvertieren und dann die Größe Ihrer Bilder mit XnView stapelweise ändern. Laden Sie das Deb-Paket von hier herunter: http://www.xnview.com/de/xnviewmp/#downloads , klicken Sie mit der rechten Maustaste darauf und öffnen Sie es mit Gnome Software.
Wenn Sie sich nicht für die Netzwerkladegeschwindigkeit, sondern für die Qualität interessieren, sollten Sie Ihre Bilder unberührt lassen und eine digitale Bibliothek für sie erstellen. Laden Sie sie möglicherweise auf einen öffentlichen Server (Yahoo, Google usw.) hoch.