René Nyffenegger's collection of things on the web | |
René Nyffenegger on Oracle - Most wanted - Feedback
- Follow @renenyffenegger
|
Script-fu example 11: Drawing on an existing image | ||
The following function takes an already created image as parameter and draws a rectangle on it.
rectangle.scm
(define (rectangle img size x y) (let* ( (lyr (car (gimp-layer-new img size size RGB-IMAGE "my layer" 100 NORMAL))) ) (gimp-image-add-layer img lyr -1) (gimp-layer-set-offsets lyr x y) (gimp-context-set-background '(255 000 000)) (gimp-context-set-foreground '(000 000 255)) (gimp-drawable-fill lyr BACKGROUND-FILL) ) )
ex_11 then creates an image and passes it to
rectangle .
ex_11.scm
(define (ex_11) (let* ( (my-image (car (gimp-image-new 250 250 RGB )) ) (my-layer (car (gimp-layer-new my-image 250 250 RGB-IMAGE "final layer" 100 NORMAL))) ) (gimp-image-add-layer my-image my-layer 0) (gimp-context-set-background '(100 100 100)) (gimp-context-set-foreground '(000 255 000)) (gimp-drawable-fill my-layer BACKGROUND-FILL) (rectangle my-image 10 10 10) (rectangle my-image 20 20 20) (rectangle my-image 30 40 40) (rectangle my-image 40 70 70) (rectangle my-image 50 110 110) (rectangle my-image 60 160 160) (set! my-layer (car (gimp-image-flatten my-image))) ; (gimp-display-new my-image) (gimp-file-save RUN-NONINTERACTIVE my-image my-layer "c:\\temp\\ex_11.jpg" "") ) ) c:\> start gimp-2.2.exe -d -i -b "(ex_11)" "(gimp-quit 0)"
See also other examples
|