#!/usr/bin/env python # CDlabel.py: Gimp CD Label plug-in. # Provide a template for labels (especially CD labels) # using the gLabels template data files. # Copyright 2002 by Akkana Peck, http://www.shallowsky.com/software/ # You may use and distribute this plug-in under the terms of the GPL. from gimpfu import * have_gimp11 = gimp.major_version > 1 or \ gimp.major_version == 1 and gimp.minor_version >= 1 def python_CD_template(diameter, color, miniCD): img = gimp.image(diameter, diameter, RGB) img.disable_undo() drawable = gimp.layer(img, "CD Background", diameter, diameter, RGBA_IMAGE, 100, NORMAL_MODE) oldfg = gimp.get_foreground() gimp.set_foreground(color) # Fill a circle of the right size pdb.gimp_ellipse_select(img, 0, 0, diameter, diameter, REPLACE, 0, 0, 0) if have_gimp11: pdb.gimp_bucket_fill(drawable, FG_BUCKET_FILL, NORMAL_MODE, 100, 0, 0, 0, 0) else: pdb.gimp_bucket_fill(img, drawable, FG_BUCKET_FILL, NORMAL_MODE, 100, 0, 0, 0, 0) # Calculate offset and diameter for inner circle if (miniCD) : innerdiam = diameter / 1.9 else : innerdiam = diameter / 2.76 offset = (diameter - innerdiam) / 2 pdb.gimp_ellipse_select(img, offset, offset, innerdiam, innerdiam, REPLACE, 0, 0, 0) pdb.gimp_edit_clear(drawable) img.add_layer(drawable, 0) pdb.gimp_selection_none(img) gimp.set_foreground(oldfg) img.enable_undo() disp = gimp.display(img) register( "python_fu_cd_label", "Make a CD label template", "Make a CD label template", "Akkana Peck", "Akkana Peck", "2002", "/Xtns/Python-Fu/CD Template...", "RGB*, GRAY*, INDEXED*", [ # (PF_STRING, "TemplateName", "Which template", # "Stomper PRO CD"), # (PF_STRING, "TemplateFile", "The template data file", # "/usr/local/share/glabels/predefined-labels.template"), (PF_SLIDER, "Diameter", "Diameter (pixels)", 800, (100, 2000, 50)), (PF_COLOUR, "BackgroundColor", "The background color", (170,240,240)), (PF_TOGGLE, "MiniCD", "Mini CD?", 0), ], [], python_CD_template) main()