Я хотел бы написать простой скрипт, который: 1) уменьшает изображение на 25% (ширина 50%, высота 50%), 2) добавляет водяной знак из другого изображения (наконец, я хотел бы установить непрозрачность для этого 20%).
Моя проблема в том, что я не совсем понимаю, что я делаю со слоями, которые я создаю. Скрипт работает (но было сложно заставить его работать!) Для группы файлов, я меняю параметры, но, кажется, я не могу заставить его работать так, как я хочу). Я не вижу изображения водяного знака - кроме случаев, когда я делаю gimp-file-save
для drawable2
(тогда есть только водяной знак).
Кто-нибудь может мне помочь с этим? - и объясните мне, что я здесь не так делаю?
(define (add-watermark2 pattern waterm)
(let* ((filelist (cadr (file-glob pattern 1))))
(while (not (null? filelist))
(let* ((filename (car filelist))
(image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
(drawable (car (gimp-image-active-drawable image)))
(cur-width (car (gimp-image-width image)))
(cur-height (car (gimp-image-height image)))
(width (* 0.50 cur-width))
(height (* 0.50 cur-height))
(gimp-image-scale image width height) ; scale the image
(drawable2 (car (gimp-file-load-layer RUN-NONINTERACTIVE image waterm)))
(gimp-image-insert-layer image drawable2 0 -1)
(gimp-layer-set-offsets drawable2 100 100 )
(gimp-layer-set-mode drawable2 0)
(gimp-image-merge-visible-layers image 2)
)
(gimp-file-save RUN-NONINTERACTIVE image drawable (string-append "w" filename) "")
)
(set! filelist (cdr filelist))
)))