
Angenommen, ich habe ein Bild namens 1.png
, das derzeit
500px : height
1000px : width
Ich möchte die Größe wie folgt ändern:
50px : height
100px : width
Die Ausgabe muss im PNG-Format erfolgen, nicht im JPG-Format. Ein Beispiel wäre sehr willkommen.
Antwort1
Ich würde verwenden convert
oder mogrify
von derBildMagickSuite.
$ convert -resize 100x50 1.png 2.png
# or #
$ mogrify -resize 100x50 1.png
convert
nimmt einen separaten Ausgabedateinamen an; erstellt eine separate Datei.
mogrify
nimmt keinen separaten Ausgabedateinamen an; ändert die Datei an Ort und Stelle
Antwort2
Die Antworten, die Sie bisher erhalten haben, werden in diesem speziellen Fall funktionieren, da Ihre Quell- und Zielbilder das gleiche Seitenverhältnis haben. Wenn Sie jedoch eine beliebige Größe wählen möchten,Sie werden scheitern:
$ file foo.png
foo.png: PNG image data, 1000 x 500, 8-bit/color RGB, non-interlaced
$ convert -resize 100x50 foo.png bar.png
$ file bar.png
bar.png: PNG image data, 100 x 50, 8-bit colormap, non-interlaced
Wie Sie oben sehen, funktioniert die einfache Konvertierung einwandfrei, wenn die Proportionen des Bildes nicht geändert werden. Aber was, wenn Sie sie ändern möchten?
$ convert -resize 200x50 foo.png bar.png
$ file bar.png
bar.png: PNG image data, 100 x 50, 8-bit colormap, non-interlaced
Wenn Sie also die Proportionen ändern, schlägt der obige Befehl fehl. Um convert
eine Bildänderung auf diese Weise zu erzwingen, müssen Sie !
am Ende der Geometriespezifikation ein hinzufügen (und da es !
sich bei vielen Shells um ein Sonderzeichen handelt, müssen Sie es als maskieren \!
):
$ convert -resize 200x50\! foo.png bar.png
$ file bar.png
bar.png: PNG image data, 200 x 50, 8-bit colormap, non-interlaced
Antwort3
Verwenden Sie hierfür Imagemagick.
Lesen Sie die Manpage zur korrekten Verwendung. Es sollte jedoch durch die Übergabe von Parametern funktionieren, etwa wie
convert 1.png -resize 50x100 1-resized.png
Antwort4
Eine Alternative zu ImageMagick ist das bewährte netpbm:
pngtopnm input.png | pnmscale -reduce 10 | pnmtopng > output.png