Tengo 5.000 imágenes que necesito comprimir (para mostrar en mi sitio web).
Soy nuevo en Ubuntu. ¿Entonces qué hago?
Tengo 5.000 imágenes que necesito comprimir (para mostrar en mi sitio web).
Soy nuevo en Ubuntu. ¿Entonces qué hago?
Respuestas:
La palabra "compresión" parece estar mal interpretada en esta pregunta, pero aún es válida dependiendo del contexto en el que desea ver esto.
Reconozcamos que los diseñadores web, los desarrolladores web y / o los maestros web necesitan "comprimir" nuestros archivos de imagen para que sean lo suficientemente "livianos" para cargarlos rápidamente en nuestro alojamiento si estamos trabajando directamente en un entorno de producción real. Lo que no afectará si estuviéramos trabajando en un entorno de producción de prueba local.
Muchas de las respuestas parecen referirse a otras cosas, principalmente causadas por, probablemente, que no se han enfrentado a ese escenario. Por eso empiezo a explicar esto.
Asi que. Comprendamos lo que la respuesta necesita resolver:
Primero, comprendamos qué debe ser una "imagen ligera".
Las imágenes de alta definición, con resoluciones superiores a 1024 px, pueden tener un gran tamaño de archivo. Proporciono un ejemplo en esta captura de pantalla:
En la ventana de propiedades del archivo, podemos ver que se trata de un archivo de 9,5 MB, que retrasará mucho la carga y retrasará mucho el procesamiento en pantalla cuando se publique en un sitio web.
Sin embargo, el tamaño de la imagen y la resolución de la cuadrícula son realmente útiles para una impresión de alta definición. Entonces ese es un escenario diferente que no cubriré en esta explicación.
Entonces, ¿cómo puedo usar esta imagen en un sitio web, sin esperar años para cargar y esperar otros años para mostrarla en mi sitio web?
Y cuando hablamos de "compresión" necesitamos cambiar explícitamente su calidad para que sea utilizable para el caso que enfrentamos.
Entonces, dejemos el siguiente en una terminal:
convert seminario-tabloide.png test.jpg
¡Esto va a convertir el formato PNG de alta definición en un formato JPG "comprimido", que en sí mismo es un archivo más pequeño! Va de 9,5 MB a 2,4 MB.
Pero, 2.4 MB es aún un gran tamaño de archivo. Ahora juguemos con otros comandos de conversión de ImageMagick para crear archivos de menor tamaño:
convert test.jpg -quality 50% test-50p.jpg
Esto es lo que debemos hacer para "comprimir" una imagen. Esto reducirá la calidad de la imagen en un 50% y ofrecerá un tamaño de archivo de 938.4 KB <=== (Nota: KILOBITOS, ni siquiera un Megabyte).
Podemos ir más allá y crear un tamaño de archivo más pequeño ajustando el porcentaje en el mismo comando a través de:
convert test.jpg -quality 30% test-30p.jpg
Tenga en cuenta que en este ejemplo estamos reduciendo la calidad del archivo, no las dimensiones de la imagen. Lo que dará como resultado un archivo comprimido que no se ve afectado visualmente cuando se procesa en la pantalla, pero verá los artefactos al imprimir en un tamaño de papel grande (más grande que una letra).
Ahora. Podemos hacer algo diferente. De hecho, hay un par de cosas: primero podemos cambiar el tamaño de las imágenes y aplicar compresión después de eso, lo que dará como resultado un tamaño de archivo más pequeño que el original y ofrecerá una imagen útil para renderizar en pantalla, no tan buena para imprimir, pero parece que necesita mostrarlo en la pantalla y no en un banner impreso, ¿verdad?
Entonces hagamos esto:
convert seminario-tabloide.png -resize 1024x test-1024x.jpg
Con esta instrucción, le pedimos que cambie el tamaño de la imagen para que tenga 1024 píxeles de ancho por cualquier cantidad de píxeles necesarios para no perder la relación de aspecto.
Ahora ... ¿adivina qué?
El tamaño del archivo se redujo de 9.5 MB a ... (música de suspenso con congas, por favor) 433.7 KILOBYTES
Si deseamos comprimir al máximo un archivo comprimido máximo como este, enfrentaremos algunos datos generales insertados en el archivo y resultará en un tamaño de archivo más grande. Así que no te sugiero que lo intentes, pero si esperas que haga el ejemplo, está bien ... ¡Aquí vamos!
convert test-1024x.jpg -quality 50% test-1024x-50p.jpg
Y pasamos de 433.7 KB a 176.2 KB en un solo comando. Este ejemplo fue exitoso, sin embargo, no espere que ningún ejercicio resulte en tamaños de archivo más pequeños. Pero puede divertirse mucho al ejecutar este tipo de ejercicios.
Oh! Pero casi olvido una de las necesidades: aplicar este proceso a muchas imágenes con facilidad.
Para tal cosa podemos hacerlo con dos procesos.
Esto es más rápido y más fácil. Entonces, digamos al terminal que necesitamos ejecutar la misma instrucción en todos los archivos en un directorio, después de lo cual explicaré otras instrucciones.
Convierta todo a 1024px (puede usar cualquier cantidad de píxeles)
for i in *; do convert $i -resize 1024x $i-1024x.jpg; done;
Aquí le pedimos al comando que ejecute la misma instrucción para todos los archivos en un directorio, aplique la transformación y suelte una copia con un nombre diferente para facilitar la selección.
Reduzca la calidad por porcentaje (use cualquier porcentaje que desee) a todas las imágenes en un directorio:
for i in *-1024x.jpg; do convert $i -quality 50% $i-50p.jpg; done;
Aquí pedimos que las imágenes redimensionadas se reduzcan en calidad para reducir su tamaño de archivo.
Puedes jugar con estos comandos y ver tus resultados. Después de un par de horas divirtiéndote, serás un experto.
El 20 de abril de 2015 enfrenté una situación como la pregunta original, así que tuve que investigar un poco y pedir ayuda sobre una pregunta. Es por eso que ahora sé mucho de esto. No creas que nací con este conocimiento, hombre.
Si no está acostumbrado a las terminales y / o desea usar una GUI para simplemente elegir sus grupos de archivos y aplicar las transformaciones, puede crear su propio Script de Acciones Nautilus para simplemente hacer clic derecho en el grupo de archivos y elegir Una opción del menú contextual.
Para obtener instrucciones sobre cómo hacerlo, lea la pregunta, la respuesta y los comentarios aquí: ¿Cómo procesar por lotes las imágenes JPG para cambiar su calidad con Nautilus-Actions?
¡Buena suerte!
convert
Las habilidades de la línea de comandos de ImageMagick son excelentes.
convert photo.jpg -quality 70% photo_compressed.jpg
formato de comando y funcionó muy bien! Incluso establecer la compresión en solo el 70% de la calidad original redujo el tamaño de la foto a ~ 37% del original, ya que el efecto se magnifica al estar en los ejes x e y.
mogrify -resize 1600 -path dir_name -format JPG -quality 90 *.tif
Si se refiere a imágenes jpeg, la compresión de facto no es posible. Porque jpeg es, por definición, un formato de archivo comprimido (todo el ruido y los píxeles inútiles ya se han eliminado). Puede comprimirlos bien, pero el tamaño total seguirá siendo el mismo. El único algoritmo de compresión avanzado que conozco para jpegs es zipx. Pero zipx es propiedad de Winzip y garantiza un máximo. tamaño reducido en un 30% (en modo de archivo zipx).
Para mostrar sus imágenes en la web, primero debe cambiar su tamaño (menos de 1 MB por cada una) y, opcionalmente, convertirlas al formato de archivo png. PNG (= gráficos de red portátiles) está especialmente optimizado para una transferencia web más rápida y una visualización más rápida. Los usuarios avanzados incluso pueden convertir esas imágenes a formato webp (formato de Google para imágenes, algoritmo de carga más rápido).
Puede convertir imágenes por lotes con XnConvert, luego cambiar el tamaño de sus imágenes por lotes con XnView. Descargue el paquete deb desde aquí: http://www.xnview.com/de/xnviewmp/#downloads , luego haga clic derecho sobre él y ábralo con el software Gnome.
Si no le importa la velocidad de carga de la red, pero le importa la calidad, debe mantener sus imágenes intactas y crear una biblioteca digital para ellas. Tal vez subirlos a un servidor público (Yahoo, Google, etc.).