---
name: "gifcompose"
section: "1"
platform: "linux"
package: "giflib-tools"
version: "4.1.6-11+deb8u1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/gifcompose"
---

# gifcompose(1)

The gifcompose program uses the GIFLIB utility tools to support a minilanguage for describing GIF pasteup sequences.

## NAME

gifcompose -  The gifcompose program uses the GIFLIB utility tools to support a minilanguage for describing GIF pasteup sequences.

## USAGE

**gifcompose \[-v\] \<specfile**

## Specification Syntax

The gifcompose tool takes a series of text lines and interprets them as commands to do pasteup operations. The commands are:

## Generators

- gif \<name\>

  Paste in \<name\>.gif

- raw \<name\> \<width\> \<height\>

  Paste in the given raw-format file (no suffix supplied).  Raw format is a stream of 8-bit indices into the EGA color map.  Accordingly, the width and height must be specified, and the source must be exactly width times height bytes long.

- rgb \<name\> \<width\> \<height\>

  Paste in the given RGB-format file (no suffix supplied).  Raw format is a stream of 24-bit color values.  Accordingly, the width and height must be specified, and the source must be exactly 3 times width times height bytes long.

- rle \<name\>

  Paste in the given RLE-format file (no suffix supplied).  This converts the Utah Raster Kit format to GIF.

- text \<text\> \[foreground \<index\>\] \[color \<r\> \<g\> \<b\>\]

  Copy 8x8 monospace font, with transparent background and index 1 as foreground.  If the text string contains whitespaces, they must be escaped or the string must be quoted (shell conventions).

  The optional suffix \`foreground \<n\>' sets the foreground color index. The optional suffix \`color \<r\> \<g\> \<b\>' sets the RGB color to be used for the foreground index.

  Each generator operation may be followed by any combination of the following suffixes:

## Modifiers

- at \<x\> \<y\>

  Place the image at the given (upper-left-hand-corner) coordinates in the pasted-up result.

- clip \<name\> \<top-x\> \<top-y\> \<bottom-x\> \<bottom-y\>

  Clip image using the given rectange, paste it onto.

- xflip

  Flip the image around the X axis before placing it.

- yflip

  Flip the image around the Y axis before placing it.

- left

  Rotate the image 90 degrees counterclockwise before placing it.

- right

  Rotate the image 90 degrees clockwise before placing it.

## Target Operations

- screen size \<x-size\> \<y-size\>

  Set the global screen size of the final image.

- screen position \<x\> \<y\>

  Set the global screen position of the final image.

## Comments

Comments or comment lines may be preceded with \`#' and will be ignored.

## MEMORY REQUIRED

Proportional to the size of the largest pasted image.

## OPTIONS

- \[-v\]

   Emit a report on each composition action to stderr as it happens.

## BUGS

The suffix sequence \`left left' sometimes mysteriously fails to work,  probably due to some restriction in \<a href="gifflip.html"\>gifflip

No support for resizing or odd-angle rotations yet.

The \`color' suffix of text is a no-op, because the present version of \<a href="gifovly.html"\>gifovly

Error checking is rudimentary.

## AUTHOR

Eric S. Raymond \<esr@snark.thyrsus.com\>

Man page created by T.Gridel \<tgridel@free.fr\>, originally written by Eric S. Raymond \<esr@thyrsus.com\>
