Writing Gimp Plug-ins in Perl

A Gimp plug-in[6] is a small program that adds functionality to the Gimp. The plug-ins reside in one of two directories, the global plug-in directory or a user’s own plug-in directory. Each plug-in is queried when the Gimp starts up to determine the parameters that the plug-in takes and the types of values it returns. The plug-in is then installed in the Gimp’s Procedural Database (PDB), which is a big list containing information about all of the functions available to the Gimp through the core Gimp API and other installed plug-ins and scripts.

The Gimp-Perl scripting interface, designed chiefly by Gimp developer Marc Lehmann (http://www.goof.com/pcg/marc/gimp.html), provides the ability to use the image manipulation engine and the graphic user interface from standalone Perl scripts or from scripts integrated into the Gimp itself. Gimp-Perl scripting conveniences make writing plug-ins simpler in Perl than in C. And, with Perl’s integrated PDL (Perl Data Language) module, you can perform complex operations on raw pixel data almost as fast as you could in pure C.

The Gimp and Gimp::Fu Modules

The Gimp-Perl interface is composed of a suite of modules, only two of which really concern the beginning plug-in author. The Gimp module provides the basic interface to the Gimp and the PDB. The Gimp::Fu module provides a framework to simplify the process of writing basic plug-ins.

The Gimp module provides the following capabilities:

  • Allows you to write a script in Perl ...

Get Perl Graphics Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.