On 0607, Carol Spears wrote: > please do not ask to ask. Ask. Ok. I tried to write a script based on this tutorial: http://gug.sunsite.dk/tutorials/ronq2/
The problem is how to use the Colors->Curves dialog. I cannot figure it out, so I used the paint tool :) But I'm interested how can I script this. I want just a plain alpha-channel modification: (0 - 0)(255 - 64) points. Here is my attempt (it works, but with the paint tool) (define (set-pt a index x y) (prog1 (aset a (* index 2) x) (aset a (+ (* index 2) 1) y))) (define (script-fu-3d-plexi image layer objColor edge edgeInner shadowBlurRadius offsetX offsetY) (gimp-image-undo-group-start image) (let* ( (old-fg (car (gimp-palette-get-foreground))) (old-selection (car (gimp-selection-save image))) (width (car (gimp-image-width image))) (height (car (gimp-image-height image))) ; the new layers (bumpMapLayer (car (gimp-layer-new image width height RGBA-IMAGE "BumpMap" 100 NORMAL-MODE))) (shadowLayer (car (gimp-layer-new image width height RGBA-IMAGE "Shadow" 100 NORMAL-MODE))) (shadowLayerMask 0) (plexiLayer 0) (myAlpha (cons-array 4 'byte)) ; the shadow and the object color is the invert in RGB space (shadowColor (list (- 255 (car objColor)) (- 255 (cadr objColor)) (- 255 (caddr objColor)))) ) (set-pt myAlpha 0 0 0) (set-pt myAlpha 1 255 64) ; clear the new layers (gimp-selection-all image) (gimp-edit-fill bumpMapLayer TRANSPARENT-FILL) ;(gimp-image-add-layer image bumpMapLayer -1) (gimp-edit-fill shadowLayer TRANSPARENT-FILL) (gimp-image-add-layer image shadowLayer -1) ; make a selection from the layer's alpha channel (gimp-selection-layer-alpha layer) ; fill it with white (gimp-palette-set-foreground '(255 255 255)) (gimp-edit-fill bumpMapLayer FOREGROUND-FILL) ; create shadow shape (gimp-palette-set-foreground shadowColor) (gimp-edit-fill shadowLayer FOREGROUND-FILL) ; blur the bumpmap (gimp-selection-none image) (plug-in-gauss-rle 1 image bumpMapLayer 5 TRUE TRUE) ; the bumpmap... (plug-in-bump-map 1 image shadowLayer bumpMapLayer 135 25 4 0 0 0 0 0 0 0) ;no need for the bumpmap layer anymore (gimp-drawable-delete bumpMapLayer) ; select the shape... (gimp-selection-layer-alpha layer) ; except the edge (gimp-selection-shrink image (+ edge edgeInner)) ; but to get a smooth transition (if needed...) (gimp-selection-feather image edgeInner) ; make the shadow translucent ;(gimp-curves-spline shadowLayer HISTOGRAM-ALPHA 4 myAlpha) (set! shadowLayerMask (car (gimp-layer-create-mask shadowLayer ADD-ALPHA-MASK))) (gimp-layer-add-mask shadowLayer shadowLayerMask) (gimp-palette-set-foreground '(0 0 0)) (gimp-edit-bucket-fill shadowLayerMask FG-BUCKET-FILL NORMAL-MODE 75 255 FALSE 0 0) (gimp-layer-remove-mask shadowLayer MASK-APPLY) ; copy the shadow layer (set! plexiLayer (car (gimp-layer-new-from-drawable shadowLayer image))) (gimp-layer-set-name plexiLayer "Plexi") (gimp-image-add-layer image plexiLayer -1) (gimp-selection-clear image) ; clear the selection (it is on the shadow layer) (gimp-selection-none image) ; invert (back) the plexi colors (gimp-invert plexiLayer) ; blur the shadow (plug-in-gauss-rle 1 image shadowLayer shadowBlurRadius TRUE TRUE) ; and move the shadow (gimp-drawable-offset shadowLayer FALSE OFFSET-TRANSPARENT offsetX offsetY) ; set the shadow mode (gimp-layer-set-mode shadowLayer MULTIPLY-MODE) ; restoring things... (gimp-palette-set-foreground old-fg) (gimp-selection-load old-selection) (gimp-image-remove-channel image old-selection) (gimp-image-remove-layer image layer) (gimp-image-undo-group-end image) (gimp-displays-flush) ) ) (script-fu-register "script-fu-3d-plexi" ;func name _"<Image>/Script-Fu/Alpha to Logo/3D Ple_xi" ;location "Creates 3D plexi object with drop shadow" ;description "Gergely Kontra" ;author "Based on Ron Scott's Transparent objects tutorial";copyright notice " May 23, 2004" ;date/revision "RGBA" ;Image type that the script works o SF-IMAGE "The image" 0 SF-DRAWABLE "The active layer" 0 SF-COLOR _"Object Color" '(0 128 255) ;a color variable SF-ADJUSTMENT _"Outline Size" '(2 0 20 1 1 0 1) SF-ADJUSTMENT _"Opacity fade blur" '(2 0 10 0.1 0.1 2 1) SF-ADJUSTMENT _"Shadow Blur Radius" '(10 0 250 1 1 0 1) SF-ADJUSTMENT _"Shadow X Offset" '(10 -100 100 1 1 0 1) SF-ADJUSTMENT _"Shadow Y Offset" '(10 -100 100 1 1 0 1) ) -- +-[ Kontra, Gergely<[EMAIL PROTECTED]> PhD student Room IB113 ]---------+ | http://www.mcl.hu/~kgergely "Olyan langesz vagyok, hogy | | Mobil:(+36 20) 356 9656 ICQ: 175564914 poroltoval kellene jarnom" | +-- Magyar php mirror es magyar php dokumentacio: http://hu.php.net --+ _______________________________________________ Gimp-user mailing list [EMAIL PROTECTED] http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-user