Как мне написать собственный скрипт автоматической обрезки с помощью GIMP?

У меня есть несколько снимков экрана, и я хотел бы обрезать границу окна. Я хотел бы обрезать их все с помощью скрипта.

У меня есть доступ к GIMP, но не к фотошопу, поэтому я решил, что GIMP будет лучшим инструментом для использования. Раньше я не писал сценариев с GIMP, поэтому я просмотрел несколько сценариев обрезки GIMP. Все, что я нашел, похожи на то, что я хочу, но не совсем. Я подумал, что будет просто изменить сценарий так, как мне нужно. Но поскольку я не знаком с языком сценариев, это оказалось труднее, чем я думал. Я нашел отличный сценарий автоматической обрезки здесь . Может ли кто-нибудь помочь мне настроить его под то, что мне нужно?

    (define (script-fu-rs-center-crop filename outfilename width height)

  (let* ((image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
          (drawable (car (gimp-image-get-active-layer image))))
          (let* ((original-width (car (gimp-image-width image)))
               (original-height (car (gimp-image-height image)))
               (new-width original-width)
               (new-height original-height)
               (offset-x 0)
               (offset-y 0))

               (if (<= (/ original-width original-height) (/ width height))
                   (gimp-image-crop image original-width (* original-width (/ height width)) 0 (/ (- original-height (* original-width (/ height width))) 2) )
                   (gimp-image-crop image (* original-height (/ width height)) original-height (/ (- original-width (* original-height (/ width height))) 2) 0)
               )
           )

  (set! drawable (car (gimp-image-get-active-layer image)))

(gimp-file-save RUN-NONINTERACTIVE image drawable outfilename outfilename)
     (gimp-image-delete image)))

Общие размеры не одинаковы для всех фотографий. Но все они имеют одинаковое количество пикселей сверху, слева, справа и снизу, которые я хочу обрезать. Допустим, изображение имеет размеры в пикселях ширину и высоту , и я хочу удалить t_junk пикселей сверху, b_junk пикселей снизу, l_junk пикселей слева и r_junk пикселей справа. Поэтому я хочу, чтобы размеры нового изображения составляли ширина - l_junk - r_junk и высота - t_junk - b_junk .

5
задан Stainsor 27 April 2011 в 22:25
поделиться