2010-10-07 20 views
5

Acaba de empezar a usar GIMP hoy. Cuando cambio el tamaño del lienzo manualmente en GIMP (para que sea más pequeño que el tamaño de la imagen), me permite mover la imagen para poder "cambiar" el área visible. ¿Cómo replico esto en un script? En otras palabras, quiero que el script se detenga en el paso de redimensionamiento del lienzo y me permita ubicar la imagen correctamente.GIMP - Creación de scripts de un lienzo de redimensionamiento

La razón por la que estoy preguntando: he escrito un pequeño script que creará miniaturas cuadradas de imágenes. La forma en que lo hago es cambiando el tamaño del lienzo para que la altura y el ancho sean los mismos. Si el alto y el ancho son diferentes, cambio el valor más alto de los dos para que sea el mismo que el más bajo (por ejemplo, 600x500 se convierte en 500x500). Luego aplanar la imagen y escalarla a lo que sea que necesite.

(if (>= width height) 
    (begin 
     (gimp-image-resize image height height 0 0) 
    ) 
    (begin 
     (gimp-image-resize image width width 0 0) 
    ) 
) 

El código que estoy usando para cambiar el tamaño del lienzo es anterior. Sé que los últimos dos valores en el comando gimp-image-resize se refieren a los desplazamientos. Esto es lo que quiero modificar manualmente cuando el script llega a este paso. Cualquier ayuda sería muy apreciada. ¡Gracias!

Respuesta

3

¿Funciona el código? Si es así, aquí hay una versión más atractiva del mismo código:

(let ((smaller-edge (min width height))) 
    (gimp-image-resize image smaller-edge smaller-edge 0 0)) 
+1

Funciona, aunque su versión definitivamente se ve más limpia. ¡Gracias! Siendo nuevo en GIMP y Scheme, no conocía muchos de los métodos disponibles. Lamentablemente, esto aún no resuelve mi problema. – zdyn

Cuestiones relacionadas