¿Cómo puedo cambiar el tamaño de archivo de una imagen?

14

De vez en cuando, trato de subir una imagen a un sitio web y encuentro un mensaje:

Error de carga: ¡el tamaño del archivo no puede exceder n MB!

Sé que cambiar el tamaño de la dimensión de la imagen debería situarme por debajo de n en cierto punto, pero el proceso de cambiar el tamaño, guardar y verificar el tamaño del archivo es engorroso. Además, a veces puede ser útil mantener las dimensiones actuales.

Estoy buscando una manera de cambiar el tamaño del archivo de una imagen, preferiblemente desde el terminal. ¿Hay alguna forma de hacer esto?

Exeleration-G
fuente
Podrías probar jpegoptimcuál es una línea de comando también para optimizar jpegs. En general, pensaría en cambiar el tamaño o la compresión o una combinación de ambos si su objetivo es reducir el tamaño del archivo
dufte
Podría usar otro tipo de compresión, .jpg en lugar de .png. ImageMagick ( imagemagick.org ) tiene tanto la línea de comandos como una interfaz gráfica básica
Pit
ImageMagick tiene un interruptor que permite establecer el tamaño del archivo ( imagemagick.org/Usage/formats/#jpg_write ), desafortunadamente solo para jpg(similar a jpegoptim). Cita: "Funciona generando muchas versiones de la imagen JPEG, haciendo una búsqueda binaria, de la configuración de" calidad "de la calidad de salida, hasta que se acerque lo más posible al tamaño de archivo dado sin excederla" (comilla final). Quizás pueda escribir un script que imite este comportamiento para otros formatos.
Marijn

Respuestas:

22

jpegoptim

Primero instalar a jpegoptimtravés de

sudo apt install jpegoptim

Luego, intente optimizar el tamaño de archivo de su imagen a través de

jpegoptim /path/to/image.jpg

o si necesita un tamaño definido a través de

jpegoptim --size=512k /path/to/image.jpg

Esto sobrescribirá la imagen, para asegurarse de que tiene una copia de seguridad durante la prueba con jpegoptim.

mogrify (imagemagick)

Redimensionando

También podrías usar mogrifycuál es parte de imagemagick. El siguiente ejemplo reduce las dimensiones de la imagen al 50% (por lo que cambiar el tamaño, no comprimir)

mogrify -resize 50% /path/to/image.jpg

Apresamiento

El siguiente ejemplo muestra la compresión con mogrify:

mogrify -compress JPEG -quality 50 /path/to/image.jpg

convertir (imagemagick)

Apresamiento

La compresión al 80% utilizando convertir funciona de la siguiente manera:

convert -quality 80% /path/to/source/image.jpg /path/to/result/image.jpg

Convierte algunos con un gran conjunto de opciones, para que puedas usar

convert -strip -interlace Plane -gaussian-blur 0.05 -quality 85% /path/to/source/image.jpg /path/to/result/image.jpg

que según esta publicación :

  • establecer la calidad a 85
  • progresivo (compresión comprobada)
  • un desenfoque gaussiano muy pequeño para optimizar el tamaño (0.05 o 0.5 de radio) depende de la calidad y el tamaño de la imagen, esto optimiza notablemente el tamaño del jpeg.
  • Pele cualquier comentario o etiqueta exif

recorte

Cito la página del proyecto aquí.

Trimage es una GUI multiplataforma y una interfaz de línea de comandos para optimizar archivos de imagen para sitios web, usando optipng, pngcrush, advpng y jpegoptim, dependiendo del tipo de archivo (actualmente, se admiten archivos PNG y JPG).

Simplemente puede instalarlo a través de

sudo apt install trimage

Después de comenzar solo con el nombre de la aplicación, es posible que vea la interfaz de usuario

ingrese la descripción de la imagen aquí

Si necesita más información sobre el recorte, visite la página del proyecto o ejecútelo trimage -hpara ver la ayuda.

Otras herramientas

No es así optipng, pngcrush, jpegtrany varias otras herramientas en la imagen a tamaño-optimización-esquina .... pero nunca los he utilizado.

Terminaré con algunos enlaces

dufte
fuente