(define (monolith-expansion) (set! size 400) (set! margin 10) (set! im-size (+ size (* 2 margin))) (set! size-m-ed (+ size margin)) (set! old-bg (car (gimp-palette-get-background))) (set! image (car (gimp-image-new im-size im-size RGB))) ; (set! image (car (gimp-image-new im-size im-size INDEXED))) (set! layer-0 (car (gimp-layer-new image im-size im-size RGBA-IMAGE "layer-0" 100 NORMAL-MODE))) ; INDEXEDA-IMAGE "layer-0" 100 NORMAL-MODE))) (gimp-layer-add-alpha layer-0) (gimp-image-add-layer image layer-0 0) (gimp-drawable-fill layer-0 TRANS-IMAGE-FILL) (gimp-display-new image) (gimp-rect-select image margin margin size size REPLACE TRUE FALSE) ; (gimp-palette-set-background '(153 255 255)) ; paleblue (gimp-palette-set-background '(255 255 255)) ; white (gimp-edit-fill layer-0 BG-IMAGE-FILL) (gimp-palette-set-background '(0 0 0)) ; black (gimp-brushes-set-brush "Circle (01)") (gimp-edit-stroke layer-0) (gimp-selection-none image) (set! layer-1 (car (gimp-layer-new image im-size im-size RGBA-IMAGE "layer-1" 100 NORMAL-MODE))) (gimp-drawable-fill layer-1 TRANS-IMAGE-FILL) (gimp-image-add-layer image layer-1 -1) (gimp-palette-set-foreground '(0 0 0)) ; black (lineto layer-1 (+ margin (/ (* size 10) 11)) margin (+ margin (/ (* size 10) 11)) (+ size margin)) ; r10/11 (lineto layer-1 margin (+ margin (/ (* size 10) 11)) (+ margin size) (+ margin (/ (* size 10) 11))) ; d10/11 (lineto layer-1 margin (+ margin (/ (* size 1) 11)) (+ margin size) (+ margin (/ (* size 1) 11))) ; u1/11 (lineto layer-1 (+ margin (/ (* size 1) 11)) margin (+ margin (/ (* size 1) 11)) (+ margin size)) ; l1/11 (lineto layer-1 margin (+ margin (/ (* size 6) 11)) (+ margin size) (+ margin (/ (* size 6) 11))) ; u6/11 (lineto layer-1 margin (+ margin (/ (* size 5) 11)) (+ margin size) (+ margin (/ (* size 5) 11))) ; u5/11 (lineto layer-1 (+ margin (/ (* size 21) 22)) (+ margin (/ (* size 21) 22)) (+ margin size) (+ margin size)) ; rd1:1 (lineto layer-1 (+ margin (/ (* size 21) 22)) (+ margin (/ (* size 1) 22)) (+ margin size) (+ margin 0)) ; ru1:1 (lineto layer-1 (+ margin (/ (* size 1) 22)) (+ margin (/ (* size 1) 22)) (+ margin 0) (+ margin 0)) ; lu1:1 (lineto layer-1 (+ margin (/ (* size 1) 22)) (+ margin (/ (* size 21) 22)) (+ margin 0) (+ margin size)) ; ld1:1 (set! layer-2 (car (gimp-layer-new image im-size im-size RGBA-IMAGE "layer-2" 100 NORMAL-MODE))) (gimp-drawable-fill layer-2 TRANS-IMAGE-FILL) (gimp-image-add-layer image layer-2 -1) (gimp-palette-set-foreground '(204 0 0)) ; cc-red (lineto-dot layer-1 (+ margin (/ (* size 21) 22)) (+ margin (/ (* size 21) 22)) (+ margin (/ (* size 10) 11)) (+ margin (/ (* size 10) 11))) ; rd1:1 (lineto-dot layer-1 (+ margin (/ (* size 21) 22)) (+ margin (/ (* size 1) 22)) (+ margin (/ (* size 10) 11)) (+ margin (/ (* size 1) 11))) ; ru1:1 (lineto-dot layer-1 (+ margin (/ (* size 1) 22)) (+ margin (/ (* size 1) 22)) (+ margin (/ (* size 1) 11)) (+ margin (/ (* size 1) 11))) ; lu1:1 (lineto-dot layer-1 (+ margin (/ (* size 1) 22)) (+ margin (/ (* size 21) 22)) (+ margin (/ (* size 1) 11)) (+ margin (/ (* size 10) 11))) ; ld1:1 (set! layer-11 (car (gimp-layer-new image im-size im-size RGBA-IMAGE "layer-11" 100 NORMAL-MODE))) (gimp-drawable-fill layer-11 TRANS-IMAGE-FILL) (gimp-image-add-layer image layer-11 -1) (gimp-palette-set-foreground '(0 0 0)) ; black (lineto layer-11 (+ margin size) (+ margin (/ (* size 10) 11)) (+ margin (/ (* size 10) 11)) (+ margin size)) ; rd/ (lineto layer-11 (+ margin size) (+ margin (/ (* size 1) 11)) (+ margin (/ (* size 10) 11)) (+ margin 0)) ; ru\ (lineto layer-11 (+ margin (/ (* size 1) 11)) (+ margin size) (+ margin 0) (+ margin (/ (* size 10) 11))) ; ld\ (lineto layer-11 (+ margin (/ (* size 1) 11)) (+ margin 0) (+ margin 0) (+ margin (/ (* size 1) 11))) ; lu/ (set! layer-12 (car (gimp-layer-new image im-size im-size RGBA-IMAGE "layer-12" 100 NORMAL-MODE))) (gimp-drawable-fill layer-12 TRANS-IMAGE-FILL) (gimp-image-add-layer image layer-12 -1) (gimp-palette-set-foreground '(204 0 0)) ; cc-red (lineto-dot layer-12 (+ margin (/ (* size 10) 11)) (+ margin (/ (* size 5) 11)) (+ margin size) (+ margin (/ (* size 6) 11))) ; rc\ (lineto-dot layer-12 (+ margin (/ (* size 1) 11)) (+ margin (/ (* size 5) 11)) (+ margin 0) (+ margin (/ (* size 6) 11))) ; lc/ (lineto-dot layer-12 (+ margin (/ (* size 10) 11)) (+ margin (/ (* size 6) 11)) (+ margin (/ (* size 21) 22)) (+ margin (/ (* size 11) 22))) ; rc/ (lineto-dot layer-12 (+ margin (/ (* size 1) 11)) (+ margin (/ (* size 6) 11)) (+ margin (/ (* size 1) 22)) (+ margin (/ (* size 11) 22))) ; lc\ (set! layer-13 (car (gimp-layer-new image im-size im-size RGBA-IMAGE "layer-13" 100 NORMAL-MODE))) (gimp-drawable-fill layer-13 TRANS-IMAGE-FILL) (gimp-image-add-layer image layer-13 -1) (gimp-palette-set-foreground '(0 0 0)) ; black (lineto layer-13 (+ margin (/ (* size 21) 22)) (+ margin (/ (* size 11) 22)) (+ margin size) (+ margin (/ (* size 5) 11))) ; rc/ (lineto layer-13 (+ margin (/ (* size 1) 22)) (+ margin (/ (* size 11) 22)) (+ margin 0) (+ margin (/ (* size 5) 11))) ; lc\ (gimp-selection-none image) ; (gimp-display-new image) (gimp-displays-flush) (gimp-palette-set-background old-bg) ; (print image) (gimp-convert-indexed image 2 WEB-PALETTE 0 0 0 "") (set! layer-merged (car (gimp-image-merge-visible-layers image 0))) (gimp-layer-set-name layer-merged "layer-merged") (file-gif-save 1 image layer-merged (string-append my-path "monoexpsn.gif") (string-append my-path "monoexpsn.gif") 0 1 300 0) (file-png-save 1 image layer-merged (string-append my-path "monoexpsn.png") (string-append my-path "monoexpsn.png") 0 9 1 0 0 0 0) (print layer-merged) image ) (script-fu-register "monolith-expansion" ; a name of the function "/Xtns/Script-Fu/MyStuff/Expansion" ; where in the menu "Create Monolithic Image (Expansion). an Expansion. And save files monoexpsn.png, monoexpsn.gif." ; explanation for the function "HShimura 0" ; written by "HShimrua" ; copyright "July 2001" ; date "" ; mode when the function do )