![Wie kann ich die Größe eines Bildes über das Terminal ändern?](https://rvso.com/image/833377/Wie%20kann%20ich%20die%20Gr%C3%B6%C3%9Fe%20eines%20Bildes%20%C3%BCber%20das%20Terminal%20%C3%A4ndern%3F%20.png)
Ich habe Ubuntu 10.04. Ich habe das Image über das Terminal mit dem folgenden Befehl konvertiert:
convert myfigure.png myfigure.jpg
Ich möchte jedoch die Höhe und Breite des konvertierten Bildes ändern. Gibt es eine Möglichkeit, dies zu tun?
Antwort1
Gleicher 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 versuchen (wie vorgeschlagen von@test30)
find . -maxdepth 1 -iname "*.jpg" | xargs -L1 -I{} convert -resize 30% "{}" _resized/"{}"
Antwort2
Wenn Sie nur die CLI möchten:
sudo apt-get install imagemagick
mogrify -resize 320x240 Image.png
mogrify -resize 50% Image.png
mogrify -resize 320x240 *.jpg
Wenn Sie die GUI ausprobieren möchten:
Installierennautilus-image-converter
sudo apt-get install nautilus-image-converter
Es fügt zwei Kontextmenüelemente in Nautlius hinzu, sodass Sie mit der rechten Maustaste klicken und „Bildgröße ändern“ auswählen können. (Das andere ist „Bild drehen“).
Sie können, wenn Sie möchten, ein ganzes Verzeichnis mit Bildern auf einmal erstellen und müssen dazu nicht einmal eine Anwendung öffnen.
Antwort3
imgpist ein relativ neues Dienstprogramm zum Ändern der Bildgröße und zum Drehen von Bildern. Es hat mehr Funktionen als Nautilus-Image-Converter.
Zum Beispiel:
imgp -x 1366x768 *
Antwort4
Da Ubuntu mit Python ausgeliefert wird, können Sie hierfür auch ein Python-Skript verwenden, das Ihnen etwas mehr Kontrolle über das Geschehen gibt - siehedieser StackoverflowFrage zu Beispielskripten. Diese Beispiele verwenden nur die Standardbibliothek.
Skript Nr. 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 Nr. 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)
Nun, wie funktioniert das über das Terminal ...
sudo nano resizescript.py
Fügen Sie einen dieser Codeblöcke in den Texteditor ein. Drücken Sie Strg+x, um zu beenden (sagen Sie „Ja“, um die Änderungen zu speichern).
So verwenden Sie Skript Nr. 1:
python resizescript.py yourfilenamehere.jpg
So verwenden Sie Skript Nr. 2:
python resizescript.py yourfilenamehere.jpg
Sie müssen sich für beide Skripte im selben Verzeichnis wie die Bilddateien befinden. Das erste Skript 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, wird aber technisch vollständig über das Terminal durchgeführt.