cambiar el tamaño
-resize 400x300+20+30
(como los ejemplos de -scale
y a -sample
continuación) convierte una entrada en una imagen de salida que tiene las dimensiones en píxeles de 400x300
. También desplaza la salida 20 píxeles hacia la derecha y 30 píxeles hacia la parte inferior. Además, hay algunas diferencias más para -scale
:
-resize
admite una configuración adicional de -filter
(¡que debería ocurrir en la línea de comandos antes de usar -resize
!).
-filter
determina el algoritmo exacto que se utilizará para los colores de los píxeles añadidos en caso de ampliación, o los colores que se utilizarán para los píxeles restantes cuando se eliminen algunos de sus vecinos en caso de minificación.
Para obtener una lista de filtros compatibles, simplemente ejecute convert -list filter
.
-filter point -resize 400x300
crea exactamente el mismo resultado que lo -sample 400x300
hace, pero aún funciona un poco más lento.
Si no se establece al lado (antes) -resize
, la conversión se establecerá por defecto silenciosamente en -filter Lanczos
cuál es más lento, pero que genera una calidad mucho mejor (porque tiene en cuenta los colores de todos los píxeles circundantes para los nuevos agregados) que -filter point
produce (que usa el más cercano regla de vecino para determinar el color de los píxeles recién agregados).
muestra
-sample 400x300
convierte una imagen de entrada en una imagen de salida que tiene las dimensiones en píxeles de 400x300
. Sin embargo, existen algunas diferencias muy importantes para -resize
:
-sample
no admite la configuración adicional de -filter
; si se establece de todos modos, -filter
simplemente se ignora.
Al ampliar (debido a que el tamaño de la imagen de entrada puede ser menor que 400x300
), los píxeles se replican en bloques.
Al minificar (porque el tamaño de la imagen de entrada puede ser mayor que 400x300
), los píxeles se submuestran con un algoritmo muy simple: algunas filas y columnas simplemente se omiten.
El argumento de geometría de -sample
no admite ninguna parte de desplazamiento (a diferencia de -resize
, que respeta las directivas de desplazamiento para la salida).
La salida nunca tendrá más colores (diferentes) que la imagen de entrada; aunque puede tener menos colores.
Por -sample
lo tanto, es muy rápido (más rápido que -resize
), pero la calidad de salida es (normalmente) peor: puede obtener fácilmente efectos extremos de bloqueo y alias en la salida resultante.
Una característica importante de -sample
es que la nueva imagen no contendrá nuevos colores, aunque algunos colores de la imagen original pueden desaparecer.
remuestrear
-resample
utiliza como parámetro la XxY
resolución deseada , no la geometría de XxY
píxeles de la imagen de destino. El propósito de este operador es preservar el tamaño renderizado de una imagen: suponga que su imagen mide 4 pulgadas por 3 pulgadas en un dispositivo que la renderiza a 300 DPI. Luego, pedir un o cambiará el tamaño de la imagen para que mida (nuevamente) 4 pulgadas por 3 pulgadas en un dispositivo de 72 DPI.-resample 72
-resample 72x72
Esta operación funciona solo para aquellas imágenes que ya tienen una resolución deseada almacenada en sus metadatos (no todos los formatos de imagen admiten el concepto de resolución de imagen: JPEG, PNG y TIFF sí).
Si la imagen de origen está en un formato en el que falta el soporte interno para una resolución de imagen, entonces la resolución original (asumida) de la imagen debe especificarse a través -density
de la línea de comando antes de especificar la -resample
resolución.
escala
-scale 400x300
produce el resultado equivalente (pero es más rápido, porque evita todo el procesamiento del filtro) al igual que usar -filter box -resize 400x300
. También ignora por completo cualquier -filter
configuración actual .
Al minificar, cambia el tamaño de la imagen simplemente reemplazando los colores de los píxeles promediando los respectivos colores de los píxeles de entrada juntos.
Al ampliar, simplemente replica los píxeles de entrada respectivos para los píxeles adicionales necesarios.
cambio de tamaño adaptativo
-adaptive-resize 400x300
no admite (o ignora, si se establece) la parte de desplazamiento de un parámetro de geometría y también ignora la -gravity
configuración si está presente.
miniatura
-thumbnail
funciona igual que lo -resize
hace, con algunas diferencias:
La siguiente respuesta muestra algunos ejemplos (¡ilustrados!) De la -resize
directiva. Cada ilustración muestra un resultado diferente, dependiendo de los 'detalles finos' del método de cambio de tamaño exacto: