Antworten:
Sie können das Mogrify-Tool von ImageMagick verwenden
mogrify -format jpg * .bmp
sudo apt install imagemagickauf Ubuntu und Sie können die Qualität einstellen, indem Sie-quality 100
Wahrscheinlich ist ImageMagick auf Ubuntu installiert.
Das kann ,
convert filename.bmp filename.jpg
aktualisieren:
Das mogrify(beantwortet von hyperslugund empfohlen von cjm) ist auch eine gute Option.
Verwenden Sie das Programm mogrify , um die Größe eines Bildes zu ändern, es zu verwischen, zuzuschneiden, zu flecken, zu zittern, zu zeichnen, zu drehen, zusammenzufügen, erneut abzutasten und vieles mehr.
Dieses Tool kann ähnlich konvertiert werden, mit der Ausnahme, dass die ursprüngliche Bilddatei
mit den von Ihnen angeforderten Änderungen überschrieben wird (es sei denn, Sie ändern das Dateisuffix mit der-formatOption).
Lassen Sie mich eine kleine Änderung an der Antwort des Lachses vornehmen:
for i in `ls *.bmp`; do convert $i $i.jpg; done
Das obige funktioniert, generiert aber Dateien mit dem Namen "bmp.jpg". Mit diesem Befehl können Sie JPG-Dateien abrufen:
for i in *.bmp; do convert ${i} ${i%bmp}jpg; done
Siehe man bashEinzelheiten des forBefehls. Der ${i%bmp}Teil bedeutet die Zeichenfolge "$ {i}" ohne die Teilzeichenfolge "bmp" am Ende.
Es gibt andere Operationen, um die Zeichenfolge in "$ {i}" umzuwandeln. "$ i" ist eine Abkürzung für "$ {i}". Der ls *.bmpTeil in der Lachs-Antwort bedeutet "Ausführen ls *.bmp, dann iweist der for- Teil jede durch Leerzeichen getrennte Zeichenfolge zu i". Dasselbe wird erreicht, *.bmpweil es mit allen Dateinamen im Verzeichnis übereinstimmt.
Ein Nachteil besteht darin, dass for- wenn die Dateien in Ihrem Verzeichnis Leerzeichen im Namen enthalten, z. B. "wedding picture 1.bmp", diese dem ivar dreimal zugewiesen werden und die folgenden Befehle ausgeführt werden:
convert wedding wedding.jpg
convert picture picture.jpg
convert 1.bmp 1.bmp.jpg
In meiner Antwort schlägt auch die Übereinstimmung "$ {i% bmp}" fehl.
Es gibt jedoch eine Lösung: Sie können findstattdessen den Befehl verwenden. Siehe man findfür weitere Einzelheiten. Sie sollten Folgendes eingeben (bitte überprüfen Sie die Syntax in der Manpage, bevor Sie es versuchen):
find -name *.bmp -type f -exec convert '{}' '{}'.jpg \;
(Ich bin mir des Namens nicht sicher, und ich habe einige Zweifel an dem -execTeil, siehe man findzuerst)
Wenn Sie alle Bilder in einer JPG-Datei zusammenfügen möchten, können Sie sie mit einem anderen Filter verknüpfen, wie in der ersten Antwort erwähnt.
for i in `ls *.bmp`; do convert $i $i.jpg; done
Ja, dies wird eine Reihe von Dateien mit dem Namen filename.bmp.jpg erzeugen, aber es wird den Job erledigen.
ls.