2011-12-05 24 views
11

Quiero cambiar el tamaño de una imagen a un máximo de width. Por lo tanto, no me importa la altura de la imagen, pero solo quiero cambiar su tamaño a un ancho específico.ImageMagick - Cambiar el tamaño al ancho máximo

Estoy seguro de que he hecho esto antes, simplemente no puedo recordar cómo lo hice ahora.

Respuesta

29

parece que esta es la forma en que se realiza, señalando que la anchura es el primer parámetro.

convert -resize '100' image.png 

Para cualquier otra persona pensando en la altura, entonces usted podría hacer esto:

convert -resize 'x100' image.png 

Fuente: http://www.imagemagick.org/script/command-line-processing.php

edición (noviembre de 2014): Tenga en cuenta que en las últimas versiones de ImageMagick ya no puede usar comillas alrededor de los valores según el comentario de Kevin Labécot.

+4

Tenga en cuenta que si desea cambiar el tamaño de un conjunto de imágenes in situ (en lugar de crear archivos nuevos) puede utilizar el comando 'mogrify' en lugar de' convertir' – Eli

+2

Parece que no se permite el tamaño de configuración mediante comillas (parámetro no válido). Tuve que eliminar las comillas y funciona perfectamente: 'convert -resize 100 image.png' –

+0

@ KevinLabécot ¿Sabes en qué versión de ImageMagick se produjo este cambio? ... si no, ¿sabes si hacerlo sin comillas funcionaba también en versiones anteriores? – Brett

3

¿Estás buscando las matemáticas para calcular la relación de aspecto correcta?

$new_width = 400; // config 
$image_width = 480; // loaded from image 
$image_height = 786; // loaded from image 
$new_height = $new_width * ($image_height/$image_width); 
echo "$image_width x $image_height becomes $new_width x $new_height"; 
+2

Tipo, debería ser así: echo $ image_width. "X". $ Image_height. "Se convierte en". $ New_width. "X". $ New_height; –

+1

Comillas dobles parse php variables – Scuzzy

+1

Lo sé, pero las variables deben separarse del código html;) –

Cuestiones relacionadas