| René Nyffenegger's collection of things on the web | |
|
René Nyffenegger on Oracle - Most wanted - Feedback
|
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
|