What is this?
Xcftools is a set of fast command-line tools for extracting
information from the Gimp's native file format XCF. The tools
are designed to allow efficient use of layered XCF files as
sources in a build system that use 'make' and similar tools
to manage automatic processing of the graphics. These tools
work independently of the Gimp engine and do not require the
Gimp to even be installed.
xcf2pnm converts XCF files to ppm, pgm or pbm format,
flattening layers if necessary. If the image
contains transparency, an alpha map can be written
to a separate file, or a background color can be
specified on the command line.
xcf2png converts XCF files to PNG format, flattening
layers if necessary. Transparency information
can be kept in the image, or a background color
can be specified on the command line.
xcfinfo lists information about layers in an XCF file.
The tools can either flatten an XCF file as given, or extract specific
layers named on the command line.
The software was developed on an Intel-based PC running Debian
GNU/Linux. It ought to work on other Linux variants also. I would
not be surprised if it ran on other unix systems too, but porting
to non-unix platforms will require some work. Most of the code
attempts to be prepared for porting, but this has not been
You need GNU make, a C compiler, and perl.
After the source archive is extracted, the command sequence
should compile the tools and install them in /usr/local.
The 'configure' script is generated by GNU autoconf, and accepts
the arguments that such scripts commonly do.
You can use
to precompute lookup tables for pixel composing at compile time.
Normally these tables are initialized at run time if a layer that
needs them is detected. Precomputing them may improve performance
by a few percent, at the cost of doubling the size of each binary.
Xcftools is written by Henning Makholm <firstname.lastname@example.org>
It is hereby in the public domain.
In jurisdictions that do not recognise grants of copyright to the
public domain: I, the author and (presumably, in those jurisdictions)
copyright holder, hereby permit anyone to distribute and use this code,
in source code or binary form, with or without modifications. This
permission is world-wide and irrevocable.
Of course, I will not be liable for any errors or shortcomings in the
code, since I give it away without asking any compenstations.
If you use or distribute this code, I would appreciate receiving
credit for writing it, in whichever way you find proper and customary.