# Importa a interface para o GIMP from gimpfu import * def stonify(img, drawable, fracture=135, picture=135): """""" # Inicia a transação para UNDO pdb.gimp_image_undo_group_start(img) # Cria uma camada de lava pdb.script_fu_lava(img, drawable, 10, 10, 7, 'German flag smooth', 1, 1, 0) lava = img.layers[0] w, h = img.width, img.height # Cria uma camada de ruído rock = gimp.Layer(img, 'Rock', w, h, RGB_IMAGE, 100, MULTIPLY_MODE) pdb.gimp_image_add_layer(img, rock, 0) pdb.plug_in_solid_noise(img, rock, 0, 0, 0, 1, 4, 4) # Aplica relevo nas camadas pdb.plug_in_bump_map(img, rock, lava, fracture, 45, 15, 0, 0, 0, 0, 1, 0, 0) pdb.plug_in_bump_map(img, rock, drawable, picture, 45, 30, 0, 0, 0, 0, 1, 0, 0) lava.visible = 0 # Combina as camadas da imagem em uma só img.flatten() pdb.gimp_brightness_contrast (img.layers[0], 30, 10) # Termina a transação pdb.gimp_image_undo_group_end(img) # Registra a função na PDB register( # Identificação 'Stonify', '"Stonify" the image...', '"Stonify" the image with some noise', 'Luiz Eduardo Borges', 'Luiz Eduardo Borges', '2008-2010', # Localização no menu '/Filters/Render/Stonify...', # Modos suportados (todos) '*', # Parâmetros [ (PF_INT, 'fracture', 'Fracture power', 135), (PF_INT, 'picture', 'Picture power', 135) ], # Resultados [], stonify) # Executa o plugin main()