У меня есть несколько снимков экрана, и я хотел бы обрезать границу окна. Я хотел бы обрезать их все с помощью скрипта.
У меня есть доступ к 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
.