Frage Wie skaliere ich ein Bild über das Terminal? [Duplikat]


Diese Frage hat hier bereits eine Antwort:

Ich habe Ubuntu 10.04. Ich habe das Bild über das Terminal mit dem folgenden Befehl konvertiert:

convert myfigure.png myfigure.jpg

Aber ich möchte die Höhe und Breite des konvertierten Bildes ändern. Gibt es eine Möglichkeit, dies zu tun?


123
2018-03-24 02:20


Ursprung




Antworten:


Derselbe Befehl mit einer zusätzlichen Option:

convert myfigure.png -resize 200x100 myfigure.jpg

oder

convert -resize 50% myfigure.png myfigure.jpg

Um die Größe mehrerer Dateien zu ändern, können Sie den folgenden Befehl ausführen (wie von. Vorgeschlagen) @test30)

find . -maxdepth 1 -iname "*.jpg" | xargs -L1 -I{} convert -resize 30% "{}" _resized/"{}"

157
2018-03-24 04:49



Sie können auch Prozent verwenden, wie in convert -resize 50% myfigure.png myfigure.jpg - January
@Januar ausgezeichnet :) - Rinzwind
Wenn ich alle Bilder in einem Ordner konvertieren möchte, was ist dann der beste Befehl? tut convert -resize 50% *.JPG Arbeit? Tnx - Ehsan M. Kermani
skaliere alle Bilder im aktuellen Verzeichnis um 50% find -maxdepth 1 . -iname "*.jpg" | xargs -l -i convert -resize 50% {} /tmp/{}   src: perturb.org/display/632_ImageMagick_resize_images.html   Ich fügte hinzu maxdepth :) - test30
Gefunden, dass alle Bilder zu tun. musste vor -maxdepth sein, also sollte es das sein: finden. -maxdepth 1 -iname "* .JPG" | xargs -l -i convert -größe 25% {} email / {} - Andrew Stern


Wenn Sie nur CLI möchten:

sudo apt-get install imagemagick
mogrify -resize 320x240 Image.png 
mogrify -resize 50% Image.png
mogrify -resize 320x240 *.jpg

Wenn Sie GUI ausprobieren möchten:

Installieren nautilus-image-converter

sudo apt-get install nautilus-image-converter

Es fügt zwei Kontextmenüelemente in nautlius hinzu, so dass Sie mit der rechten Maustaste klicken und "Bildgröße ändern" auswählen können (das andere ist "Bild drehen").

Sie können ein ganzes Verzeichnis von Bildern auf einmal machen, wenn Sie möchten, und Sie müssen nicht einmal eine Anwendung dazu öffnen.


38
2018-03-11 10:46



Gibt es eine leistungsfähigere CLI-Software als diese? Es stürzt ab und arbeitet mit ca. 80% Bildern. - Luka


Da Ubuntu mit Python ausgeliefert wird, können Sie auch ein Python-Skript verwenden, um dies mit etwas mehr Kontrolle darüber zu erreichen, was passiert - siehe dieser Stapelüberlauf Frage zum Beispiel Skripte. Diese Beispiele verwenden nur die Standardbibliothek.

Skript # 1

import os, sys
import Image

size = 128, 128

for infile in sys.argv[1:]:
    outfile = os.path.splitext(infile)[0] + ".thumbnail"
    if infile != outfile:
        try:
            im = Image.open(infile)
            im.thumbnail(size, Image.ANTIALIAS)
            im.save(outfile, "JPEG")
        except IOError:
            print "cannot create thumbnail for '%s'" % infile

Und noch ein Beispiel, bei dem Sie nur die Breite (als Breitenvariable) angeben müssen:

Skript # 2

from PIL import Image
import sys

filename = sys.argv[1:]
basewidth = 300
img = Image.open(filename)
wpercent = (basewidth/float(img.size[0]))
hsize = int((float(img.size[1])*float(wpercent)))
img = img.resize((basewidth,hsize), Image.ANTIALIAS)
img.save(filename) 

Jetzt, wie man das durch das Terminal macht ...

sudo nano resizescript.py

Fügen Sie einen dieser Codeblöcke in den Texteditor ein. Strg + x zum Beenden (Ja, um die Änderungen zu speichern).

Um Skript Nr. 1 zu verwenden:

python resizescript.py yourfilenamehere.jpg

Um Skript # 2 zu verwenden:

python resizescript.py yourfilenamehere.jpg

Sie müssen sich im selben Verzeichnis befinden wie die Bilddateien für diese beiden Skripts. Der erste verkleinert das Bild auf 128 x 128 Pixel. Das zweite Skript macht es 300 Pixel breit und berechnet die proportionale Höhe. Dies ist eher eine Python-Antwort, aber es wird technisch durch das Terminal gemacht.


2
2017-09-10 20:08



Bitte geben Sie hier Beispiele an - Zanna
Bitte geben Sie das Beispiel über das Terminal als Frage an. - kenorb
Danke, ich habe in meiner ersten Antwort zu viel angenommen. Ich habe die Änderungen pro Frage gemacht. - freeworld
Beachten Sie, dass PIL nur für Python 2 verfügbar ist. Unterstützung für 3.x ist "später" geplant pythonware.com/products/pil - arp


imgp ist ein relativ neues Dienstprogramm, das Bildgrößenänderung und Rotation durchführt. Es hat mehr Funktionen als Nautilus-Bildkonverter.


0
2017-10-05 05:00



Während dies theoretisch die Frage beantworten könnte, es wäre vorzuziehenum die wesentlichen Teile der Antwort hier einzubeziehen und den Link als Referenz bereitzustellen. - Kevin Bowen