GIMP: добавление отступов к нескольким изображениям

Я отсканировал пару страниц и немного отредактировал их, чтобы они выглядели аккуратно.
Но поскольку я хотел их перепечатать, то заметил, что обрезал границы этих изображений, чтобы принтер не распечатывал все содержимое.

У меня есть принтер Brother с драйверами для Linux, но параметр масштабирования почему-то не работает.
Поэтому я решил масштабировать PDF-файл (в который я преобразовал эти сканы), но драйвер принтера масштабирует их обратно, чтобы они соответствовали размеру страницы. (Если я отключу параметр масштабирования, он станет мусором)

Поэтому я подумал, что мог бы сделать несколько скриптов, чтобы изменить размер этих изображений с помощью пары строк и добавить некоторые отступы для принтера. Но я понятия не имею, как это сделать.

Вот моя первая попытка:

(define (resize-image filename-in filename-out )
  (let* ((image    (car (gimp-file-load RUN-NONINTERACTIVE filename-in "")))
         (drawable (car (gimp-image-active-drawable image)))
        )
     (gimp-image-resize image 2728 3819 124 173) 
     (gimp-file-save   RUN-NONINTERACTIVE image drawable filename-out "")
  )
)

Это не работает. Изображение просто остается неизменным.

Моя страница A4 с разрешением 2480x3472, поэтому я решил добавить 10% к ширине, чтобы она стала 2728x3819, и установить смещение на 5%, чтобы содержимое располагалось по центру (со значениями смещения 124 и 173).


person Martin B.    schedule 19.07.2017    source источник
comment
Я не думаю, что этот вопрос лучше всего подходит для этого сайта, попробуйте graphicdesign.stackexchange.com   -  person bowl0stu    schedule 19.07.2017


Ответы (1)


Когда вы изменяете размер изображения, вы просто расширяете холст, но не слой. И gimp-file-save сохраняет только активный «рисуемый» (в вашем случае слой), поэтому вы просто сохраняете то же изображение. Что вам нужно сделать, так это:

  • добавьте белый слой внизу стека слоев
  • сгладить изображение
  • сохранить результат

or

  • удалите альфа-канал слоя (при условии, что цвет фоновой краски белый)
  • расширьте слой, чтобы покрыть холст (расширение будет заполнено белым цветом): gimp-layer-resize-to-image-size
  • сохранить результат
person xenoid    schedule 19.07.2017