Viewing file: shadow_bevel.py (2.41 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/env python
# Gimp-Python - allows the writing of Gimp plugins in Python. # Copyright (C) 1997 James Henstridge <james@daa.com.au> # # 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. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
from gimpfu import *
def shadow_bevel(img, drawable, blur, bevel, do_shadow, drop_x, drop_y): # disable undo for the image img.undo_group_start()
# copy the layer shadow = drawable.copy(TRUE) img.add_layer(shadow, img.layers.index(drawable)+1) shadow.name = drawable.name + " shadow" shadow.preserve_trans = FALSE
# threshold the shadow layer to all white pdb.gimp_threshold(shadow, 0, 255)
# blur the shadow layer pdb.plug_in_gauss_iir(img, shadow, blur, TRUE, TRUE)
# do the bevel thing ... if bevel: pdb.plug_in_bump_map(img, drawable, shadow, 135, 45, 3, 0, 0, 0, 0, TRUE, FALSE, 0)
# make the shadow layer black now ... pdb.gimp_invert(shadow)
# translate the drop shadow shadow.translate(drop_x, drop_y)
if not do_shadow: # delete shadow ... gimp.delete(shadow)
# enable undo again img.undo_group_end()
register( "shadow_bevel", "Add a drop shadow to a layer, and optionally bevel it.", "Add a drop shadow to a layer, and optionally bevel it.", "James Henstridge", "James Henstridge", "1999", "<Image>/Python-Fu/Effects/_Drop Shadow and Bevel", "RGBA, GRAYA", [ (PF_SLIDER, "blur", "Shadow blur", 6, (1, 30, 1)), (PF_BOOL, "bevel", "Bevel the image", TRUE), (PF_BOOL, "shadow", "Make a drop shadow", TRUE), (PF_INT, "drop_x", "Drop shadow X displacement", 3), (PF_INT, "drop_y", "Drop shadow Y displacement", 6) ], [], shadow_bevel)
main()
|