[Gimp-user] script-fu plugin
peter kostov
gimp at light-bg.com
Sun Sep 28 01:28:50 PDT 2008
Adonj Adonj wrote:
>
> I'm using gimp2.4.7 in windows XP. I copied a script-fu plugin I found to my C:\Program Files\GIMP-2.0\lib\gimp\2.0\plug-ins, which should
> copy a layer mask to multiple layers or apply a layer mask to multiple layers.
> I get an error each time I make an attempt to use it, which states:
> "Error: cons: needs 2 argument(s)"
> I'm not familiar with the script. Could there be a simple solution to that?
> Here is the script:
>
> ; This program is free software; you can redistribute it and/or modify
> ; it under the terms of the GNU General Public License as published by
> ; the Free Software Foundation; either version 2 of the License, or
> ; (at your option) any later version.
> ;
> ; This program is distributed in the hope that it will be useful,
> ; but WITHOUT ANY WARRANTY; without even the implied warranty of
> ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> ; GNU General Public License for more details.
> (define (script-fu-copy-mask-to-layers image drawable)
> (define (visible-layers img)
> (let* (
> (all-layers (gimp-image-get-layers img))
> (i (car all-layers))
> (viewable ())
> (tmp FALSE))
> (set! all-layers (cadr all-layers))
> (while (> i 0)
> (set! tmp (car (gimp-drawable-get-visible (aref
> all-layers (- i 1)))))
> (if (= tmp TRUE)
> (set! viewable (append viewable (cons (aref all-layers
> (- i 1))))))
> (set! i (- i 1)))
> viewable))
> (let* (
> (active-layer (car (gimp-image-get-active-layer image)))
> (source-layer)
> (source-mask)
> (layers)
> (mask))
> (set! layers (visible-layers image))
> (gimp-image-undo-group-start image)
> (set! source-layer (car (gimp-layer-new-from-drawable
> active-layer image)))
> (gimp-image-add-layer image source-layer -1)
> (set! source-mask (car (gimp-layer-get-mask source-layer)))
> (if (= source-mask -1)
> (begin
> (set! source-mask (car (gimp-layer-create-mask
> source-layer ADD-COPY-MASK)))
> (gimp-layer-add-mask source-layer source-mask)))
> (while (car layers)
> (if (= (car (gimp-layer-get-mask (car layers))) -1)
> (if (= (car (gimp-drawable-has-alpha (car layers))) 1)
> (set! mask (car (gimp-layer-add-mask (car layers)
> source-mask)))))
> (set! layers (cdr layers)))
> (gimp-image-remove-layer image source-layer)
> (gimp-image-undo-group-end image)
> (gimp-displays-flush)))
> (script-fu-register "script-fu-copy-mask-to-layers"
> "/Script-Fu/_Copy mask"
> "Copy the mask from the current layer to all visible layers"
> "Saul Goode"
> "Saul Goode"
> "6/14/2006"
> ""
> SF-IMAGE "Image" 0
> SF-DRAWABLE "Drawable" 0
> )
>
Isn't that a script rather a plug-in? If so it should reside in the
scripts folder... But this is gust a guess. I am not familiar with
script-fu eithe :(
Peter
> _________________________________________________________________
>
> _______________________________________________
> Gimp-user mailing list
> Gimp-user at lists.XCF.Berkeley.EDU
> https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-user
>
--
http://receptibg.com - рецепти, готварство и хранене, менюта, статии,
идеи и полезни съвети
-------
Boryana & Peter Kostovi,
web design & webdevelopment
home site: http://bgwebdeveloper.com
More information about the Gimp-user
mailing list