GIMP - сценарий изменения размера холста - PullRequest
6 голосов
/ 07 октября 2010

Просто начал использовать 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 относятся к смещению. Это то, что я хочу изменить вручную, когда сценарий достигает этого шага. Любая помощь будет принята с благодарностью. Спасибо!

1 Ответ

4 голосов
/ 07 октября 2010

Ваш код работает?Если это так, вот более привлекательная версия того же кода:

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