2010-10-07 3 views
5

Только что начал использовать GIMP сегодня. Когда я изменяю размер холста вручную в GIMP (так, чтобы он был меньше размера изображения), он позволяет мне перемещать изображение вокруг, чтобы я мог «изменить» область просмотра. Как я могу воспроизвести это в скрипте? Другими словами, я хочу, чтобы сценарий приостанавливался на шаге изменения размера и позволял правильно позиционировать изображение.GIMP - Сценарий изменения размера холста

Причина, по которой я спрашиваю: я написал небольшой скрипт, который будет создавать квадратные миниатюры изображений. Способ, которым я это делаю, - изменить размер холста так, чтобы высота и ширина были одинаковыми. Если высота и ширина различны, я меняю верхнюю из них так, чтобы она была такой же, как нижняя (например, 600x500 становится 500x500). Затем я сглаживаю изображение и масштабирую его до того, что мне нужно.

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

Код, который я использую для изменения размера холста, находится выше. Я знаю, что последние два значения в команде gimp-image-resize относятся к смещениям. Это то, что я хочу изменить вручную, когда сценарий достигнет этого шага. Любая помощь будет принята с благодарностью. Благодаря!

ответ

3

Работает ли ваш код? Если да, вот более красивая версия того же кода:

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

Это работает, хотя ваша версия определенно выглядит чище. Благодаря! Будучи новичком в GIMP и Scheme, я не знал много доступных методов. К сожалению, это еще не решило мою проблему. – zdyn

Смежные вопросы