![¿Cómo cambiar el tamaño de una imagen a través de la terminal?](https://rvso.com/image/833377/%C2%BFC%C3%B3mo%20cambiar%20el%20tama%C3%B1o%20de%20una%20imagen%20a%20trav%C3%A9s%20de%20la%20terminal%3F%20.png)
Tengo Ubuntu 10.04. He convertido una imagen a través de la terminal usando 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?
Respuesta1
Mismo comando, con una opción extra:
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@prueba30)
find . -maxdepth 1 -iname "*.jpg" | xargs -L1 -I{} convert -resize 30% "{}" _resized/"{}"
Respuesta2
Si solo desea CLI:
sudo apt-get install imagemagick
mogrify -resize 320x240 Image.png
mogrify -resize 50% Image.png
mogrify -resize 320x240 *.jpg
Si quieres probar la GUI:
Instalarnautilus-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 crear un directorio completo de imágenes de una sola vez si lo deseas y ni siquiera tienes que abrir una aplicación para hacerlo.
Respuesta3
imgpes una utilidad relativamente nueva que cambia el tamaño y la rotación de imágenes. Tiene más funciones que nautilus-image-converter.
Por ejemplo:
imgp -x 1366x768 *
Respuesta4
Dado que Ubuntu viene con Python, también puedes usar un script de Python para lograr esto con un poco más de control sobre lo que sucede; consultaeste desbordamiento de pilapregunta, por ejemplo, guiones. Esos ejemplos usan solo la biblioteca estándar.
Guión #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 donde solo tienes que especificar el ancho (como variable de ancho):
Guión #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
Pegue uno de esos bloques de código en el editor de texto. Ctrl+x para salir (di sí para guardar los cambios).
Para utilizar el guión n.º 1:
python resizescript.py yourfilenamehere.jpg
Para utilizar el guión n.° 2:
python resizescript.py yourfilenamehere.jpg
Debe estar en el mismo directorio que los archivos de imagen de ambos scripts. El primero reduce la imagen a 128x128 píxeles. El segundo script tiene 300 píxeles de ancho y calcula la altura proporcional. Esta es más una respuesta de Python, pero técnicamente se realiza en toda la terminal.