¿Cómo cambiar el tamaño de una imagen a través del terminal? [duplicar]

122

Tengo Ubuntu 10.04. He convertido la imagen a través del terminal con el siguiente comando:

convert myfigure.png myfigure.jpg

Pero quiero cambiar el tamaño de la altura y el ancho de la imagen convertida. ¿Hay alguna manera de hacer esto?

    
pregunta Md Kutubuddin Sardar 24.03.2013 - 03:20

4 respuestas

157

Mismo comando, con una opción adicional:

convert myfigure.png -resize 200x100 myfigure.jpg

o

convert -resize 50% myfigure.png myfigure.jpg

Para cambiar el tamaño de varios archivos, puede probar el siguiente comando (como lo sugiere @ test30 )

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

Si solo quiere CLI:

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

Si quieres probar GUI:

Instalar nautilus-image-converter

sudo apt-get install nautilus-image-converter

Agrega dos elementos del menú contextual en nautlius para que pueda hacer clic derecho y elegir "Cambiar tamaño de imagen". (El otro es "Girar imagen").

Puedes hacer todo un directorio de imágenes de una vez si lo deseas y ni siquiera tienes que abrir una aplicación para hacerlo.

    
respondido por el Maythux 11.03.2014 - 11:46
2

Dado que Ubuntu se envía con Python, también puede usar un script de Python para lograr esto con un poco más de control sobre lo que sucede. Consulte this stackoverflow pregunta por ejemplo scripts. Esos ejemplos usan solo la biblioteca estándar.

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

Y otro ejemplo en el que solo debe especificar el ancho (como la variable de ancho):

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) 

Ahora, cómo hacer esto a través de la terminal ...

sudo nano resizescript.py

Pega uno de esos bloques de código en el editor de texto. Ctrl + x para salir (diga sí para guardar los cambios).

Para usar el Script # 1:

python resizescript.py yourfilenamehere.jpg

Para usar el Script # 2:

python resizescript.py yourfilenamehere.jpg

Debe estar en el mismo directorio que los archivos de imagen para estos dos scripts. El primero reduce la imagen a 128x128 píxeles. El segundo script lo hace 300 píxeles de ancho y calcula la altura proporcional. Esto es más una respuesta de Python, pero se hace a través de la terminal técnicamente.

    
respondido por el freeworld 10.09.2017 - 22:08
0

imgp es una utilidad relativamente nueva que cambia el tamaño y la rotación de la imagen. Tiene más funciones que nautilus-image-converter.

    
respondido por el Arun Prakash Jana 05.10.2016 - 07:00

Lea otras preguntas en las etiquetas