File: t-o-p-logo.scm

package info (click to toggle)
gimp 2.2.13-1etch4
  • links: PTS
  • area: main
  • in suites: etch
  • size: 94,832 kB
  • ctags: 47,113
  • sloc: ansic: 524,858; xml: 36,798; lisp: 9,870; sh: 9,409; makefile: 7,923; python: 2,674; perl: 2,589; yacc: 520; lex: 334
file content (149 lines) | stat: -rw-r--r-- 5,538 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
;;  Trace of Particles Effect
;; Shuji Narazaki (narazaki@InetQ.or.jp)
;; Time-stamp: <97/03/15 17:27:33 narazaki@InetQ.or.jp>
;; Version 0.2

(define (apply-t-o-p-logo-effect img
				 logo-layer
				 b-size
				 hit-rate
				 edge-size
				 edge-only
				 base-color
				 bg-color)
  (let* ((width (car (gimp-drawable-width logo-layer)))
	 (height (car (gimp-drawable-height logo-layer)))
	 (logo-layer-mask (car (gimp-layer-create-mask logo-layer ADD-BLACK-MASK)))
	 (sparkle-layer (car (gimp-layer-new img width height RGBA-IMAGE "Sparkle" 100 NORMAL-MODE)))
	 (shadow-layer (car (gimp-layer-new img width height RGBA-IMAGE "Shadow" 90 ADDITION-MODE)))
	 (bg-layer (car (gimp-layer-new img width height RGB-IMAGE "Background" 100 NORMAL-MODE)))
	 (selection 0)
	 (white '(255 255 255)))

    (gimp-context-push)

    (script-fu-util-image-resize-from-layer img logo-layer)
    (gimp-image-add-layer img sparkle-layer 2)
    (gimp-image-add-layer img shadow-layer 3)
    (gimp-image-add-layer img bg-layer 4)
    (gimp-selection-none img)
    (gimp-edit-clear shadow-layer)
    (gimp-edit-clear sparkle-layer)
    (gimp-context-set-background base-color)
    (gimp-edit-fill sparkle-layer BACKGROUND-FILL)
    (gimp-selection-layer-alpha logo-layer)
    (set! selection (car (gimp-selection-save img)))
    (gimp-selection-grow img edge-size)
    (plug-in-noisify 1 img sparkle-layer FALSE
		     (* 0.1 hit-rate) (* 0.1 hit-rate) (* 0.1 hit-rate) 0.0)
    (gimp-selection-border img edge-size)
    (plug-in-noisify 1 img sparkle-layer FALSE hit-rate hit-rate hit-rate 0.0)
    (gimp-selection-none img)
    (plug-in-sparkle 1 img sparkle-layer 0.03 0.49 width 6 15 1.0 0.0 0.0 0.0 FALSE FALSE FALSE 0)
    (gimp-selection-load selection)
    (gimp-selection-shrink img edge-size)
    (gimp-levels sparkle-layer 0 0 255 1.2 0 255)
    (gimp-selection-load selection)
    (gimp-selection-border img edge-size)
    (gimp-levels sparkle-layer 0 0 255 0.5 0 255)
    (gimp-selection-load selection)
    (gimp-selection-grow img (/ edge-size 2.0))
    (gimp-selection-invert img)
    (gimp-edit-clear sparkle-layer)
    (if (= edge-only TRUE)
	(begin
	  (gimp-selection-load selection)
	  (gimp-selection-shrink img (/ edge-size 2.0))
	  (gimp-edit-clear sparkle-layer)
	  (gimp-selection-load selection)
	  (gimp-selection-grow img (/ edge-size 2.0))
	  (gimp-selection-invert img)))
    (gimp-context-set-foreground '(0 0 0))
    (gimp-context-set-background '(255 255 255))
    (gimp-context-set-brush "Circle Fuzzy (11)")
    (gimp-selection-feather img b-size)
    (gimp-edit-fill shadow-layer BACKGROUND-FILL)
    (gimp-selection-none img)
    (gimp-context-set-background base-color)
    (gimp-edit-fill bg-layer BACKGROUND-FILL)
    (gimp-selection-load selection)
    (gimp-context-set-brush "Circle Fuzzy (07)")
    (gimp-context-set-foreground '(255 255 255))
    (gimp-selection-none img)
    (gimp-drawable-set-visible logo-layer 0)
    (gimp-image-set-active-layer img sparkle-layer)

    (gimp-context-pop)))


(define (script-fu-t-o-p-logo-alpha img
				    logo-layer
				    b-size
				    hit-rate
				    edge-size
				    edge-only
				    base-color
				    bg-color)
  (begin
    (gimp-image-undo-group-start img)
    (apply-t-o-p-logo-effect img logo-layer b-size hit-rate
			     edge-size edge-only base-color bg-color)
    (gimp-image-undo-group-end img)
    (gimp-displays-flush)))

(script-fu-register "script-fu-t-o-p-logo-alpha"
		    _"_Particle Trace..."
		    "Trace of Particles Effect"
		    "Shuji Narazaki (narazaki@InetQ.or.jp)"
		    "Shuji Narazaki"
		    "1997"
		    "RGBA"
                    SF-IMAGE       "Image"                0
                    SF-DRAWABLE    "Drawable"             0
		    SF-ADJUSTMENT _"Border size (pixels)" '(20 1 200 1 10 0 1)
                    SF-ADJUSTMENT _"Hit rate"             '(0.2 0 1 .01 .01 2 0)
                    SF-ADJUSTMENT _"Edge width"           '(2 0 128 1 1 0 0)
		    SF-TOGGLE     _"Edge only"            FALSE
		    SF-COLOR      _"Base color"           '(0 40 0)
		    SF-COLOR      _"Background color"     '(255 255 255))

(script-fu-menu-register "script-fu-t-o-p-logo-alpha"
			 _"<Image>/Script-Fu/Alpha to Logo")


(define (script-fu-t-o-p-logo text
			      size
			      fontname
			      hit-rate
			      edge-size
			      edge-only
			      base-color
			      bg-color)
  (let* ((img (car (gimp-image-new 256 256 RGB)))
	 (border (/ size 5))
	 (text-layer (car (gimp-text-fontname img -1 0 0 text (* border 2) TRUE size PIXELS fontname))))
    (gimp-image-undo-disable img)
    (gimp-drawable-set-name text-layer text)
    (apply-t-o-p-logo-effect img text-layer border hit-rate
			     edge-size edge-only base-color bg-color)
    (gimp-image-undo-enable img)
    (gimp-display-new img)))

(script-fu-register "script-fu-t-o-p-logo"
		    _"_Particle Trace..."
		    "Trace of Particles Effect"
		    "Shuji Narazaki (narazaki@InetQ.or.jp)"
		    "Shuji Narazaki"
		    "1997"
		    ""
		    SF-STRING     _"Text"               "The GIMP"
		    SF-ADJUSTMENT _"Font size (pixels)" '(100 1 1000 1 10 0 1)
		    SF-FONT       _"Font"               "Becker"
		    SF-ADJUSTMENT _"Hit rate"           '(0.2 0 1 .01 .01 2 0)
		    SF-ADJUSTMENT _"Edge width"         '(2 0 128 1 1 0 0)
		    SF-TOGGLE     _"Edge only"          FALSE
		    SF-COLOR      _"Base color"         '(0 40 0)
		    SF-COLOR      _"Background color"   '(255 255 255))

(script-fu-menu-register "script-fu-t-o-p-logo"
			 _"<Toolbox>/Xtns/Script-Fu/Logos")