Come ridimensionare un'immagine attraverso il terminale? [duplicare]

121

Ho Ubuntu 10.04. Ho convertito l'immagine tramite terminale usando il seguente comando:

convert myfigure.png myfigure.jpg

Ma voglio ridimensionare l'altezza e la larghezza dell'immagine convertita. C'è un modo per farlo?

    
posta Md Kutubuddin Sardar 24.03.2013 - 03:20

4 risposte

157

Lo stesso comando, con un'opzione aggiuntiva:

convert myfigure.png -resize 200x100 myfigure.jpg

o

convert -resize 50% myfigure.png myfigure.jpg

Per ridimensionare più file, puoi provare il seguente comando (come suggerito da @ test30 )

find . -maxdepth 1 -iname "*.jpg" | xargs -L1 -I{} convert -resize 30% "{}" _resized/"{}"
    
risposta data Rinzwind 24.03.2013 - 05:49
38

Se vuoi solo la CLI:

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

Se vuoi provare la GUI:

Installa nautilus-image-converter

sudo apt-get install nautilus-image-converter

Aggiunge due voci del menu contestuale in nautlius in modo da poter fare clic con il tasto destro e scegliere "Ridimensiona immagine". (L'altra è "Ruota immagine").

Puoi fare un'intera directory di immagini in una volta sola se lo desideri e non devi neanche aprire un'applicazione per farlo.

    
risposta data Maythux 11.03.2014 - 11:46
2

Dato che Ubuntu viene fornito con Python, puoi anche usare uno script Python per ottenere questo risultato con un po 'più di controllo su ciò che accade - vedi questo stackoverflow . Questi esempi usano solo la libreria standard.

Script # 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

E un altro esempio in cui devi solo specificare la larghezza (come variabile di larghezza):

Script # 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) 

Ora, come farlo attraverso il terminale ...

sudo nano resizescript.py

Incolla uno di quei blocchi di codice nell'editor di testo. Ctrl + x per uscire (dì di si per salvare le modifiche).

Per utilizzare Script # 1:

python resizescript.py yourfilenamehere.jpg

Per utilizzare lo script n. 2:

python resizescript.py yourfilenamehere.jpg

Devi essere nella stessa directory dei file di immagine per entrambi questi script. Il primo riduce l'immagine a 128x128 pixel. Il secondo script lo rende largo 300 pixel e calcola l'altezza proporzionale. Questa è più una risposta di Python, ma è fatta tutto attraverso il terminale tecnicamente.

    
risposta data freeworld 10.09.2017 - 22:08
0

imgp è un'utilità relativamente nuova che consente il ridimensionamento e la rotazione delle immagini. Ha più funzioni rispetto al convertitore di immagini nautilus.

    
risposta data Arun Prakash Jana 05.10.2016 - 07:00

Leggi altre domande sui tag