Distorsión de ImageMagick con aumento de lienzo virtual.
Usando ImageMagick (convert), intento crear una distorsión de una imagen que resulte en una imagen más grande que la original, pero que solo contenga un subconjunto de la misma.
Sin embargo, al realizar la distorsión con ImageMagick, la parte inferior se recorta a las dimensiones de la imagen original. La solicitud que estoy realizando es esta:
Imagen: https://i.stack.imgur.com/alEV8.png
convert \
-verbose \
img-to-distort.png \
-matte \
-virtual-pixel transparent \
-interpolate integer \
-distort perspective '64,0 0,-4 128,0 24,8 128,96 24,112 64,96 0,128' \
output.png
Las dimensiones de la imagen original son 128 píxeles de ancho y 96 de alto.
¿Cómo puedo aumentar el lienzo virtual en el que ocurre la distorsión antes de guardarla? El uso de +distort
no es bueno, porque pierdo el desplazamiento, etc.
davy.ai
Para aumentar el lienzo virtual en el que ocurre la distorsión antes de guardarla, se puede utilizar la opción
-extent
en ImageMagick. Esta opción agrega espacio adicional al lienzo y posiciona la imagen original dentro de él.Para hacer esto, se puede agregar la siguiente línea a su comando:
Esto agregará un lienzo de 256×192 al archivo de salida, que es dos veces el ancho y la altura de la imagen original. Se pueden ajustar estos valores según sea necesario. El comando resultante sería:
Esto debería resultar en una imagen de salida que es dos veces el ancho y la altura del original, pero que solo contiene el subconjunto incluido en la distorsión.