Forzar a GraphicsMagick a cambiar el tamaño de la imagen a un ancho específico

Forzar a GraphicsMagick a cambiar el tamaño de la imagen a un ancho específico

Estoy procesando por lotes una carpeta de imágenes con un ancho uniforme con GraphicsMagick (aunque supongo que lo mismo se aplicaría a ImageMagick):

$ gm convert -resize 1000x in.jpg out.jpg

Pero cuando inspecciono algunas de las imágenes, aparece 999pxen lugar de 1000px.

$ gm identify -verbose out.jpg

==> Image: out.jpg
==> Format: JPEG (Joint Photographic Experts Group JFIF format
==>   Geometry: 999x591

¿Hay alguna manera de hacer cumplir el ancho correcto? Supongo que está haciendo algunas estimaciones para preservar las relaciones de aspecto.

Respuesta1

Una vez resuelto esto, utiliza un signo de exclamación para hacer cumplir el tamaño elegido. Desde elDocumentos de GraphicsMagick:

Agregue un signo de exclamación a la geometría para forzar que el tamaño de la imagen sea exactamente el tamaño que especifique. Por ejemplo, si especifica 640x480! el ancho de la imagen se establece en 640 píxeles y el alto en 480.

Entonces del ejemplo anterior:

$ gm convert -resize 1000x! in.jpg out.jpg

Esto da como resultado una imagen que tiene exactamente 1000 píxeles de ancho:

$ gm identify -verbose out.jpg

==> Image: out.jpg
==> Format: JPEG (Joint Photographic Experts Group JFIF format
==>   Geometry: 1000x591

información relacionada