Go to index page.


A program to display images saved as GIF files on an IBM PC Hercules graphic card. The program operates as follows:

  1. Read GIF file header and determine size of the image.

  2. Dynamically allocate enough memory to hold all the image internally. One byte per pixel is always allocated, so a little bit more than width*height (of screen, not image) bytes are required.

  3. Reads the image in. Interlaced images are read correctly, although they are displayed sequentially.

  4. Display first image using the defaults as set by the command line option.

  5. Goes to interactive mode. For full description of the interactive mode see below.


gif2herc [-q] [-d dither] [-z zoom] [-t bw] [-m map] [-i] [-b] [-h] gif-file
If no gif-file is given, gif2herc will try to read a GIF file from stdin.

Memory required:



Quiet mode. Defaults off on MSDOS, on under UNIX. Controls printout of running scan lines. Use -q- to invert.

[-d dither]
Sets size of dithering matrix, where dither can be 2,3 or 4 only (for 2x2, 3x3 and 4x4 dithering matrices). Default is 2. Note: the image will be dithered only if the mapping (see -m) selected dithering mode.

[-z zoom]
Sets zoom factor of the image. Zoom factor should be power of 2 up to 256. Default is 1 (no zoom).

[-t bw]
Sets threshold level for B&W mapping in percent. This threshold level is used in the different mappings as selected via -m. Default is 19%.

[-m map]
Select method to map colors to B&W. Mapping can be:
Every non-background color is considered foreground (white).
0.3 * RED + 0.59 * GREEN + 0.11 * YELLOW > BWThreshold is considered white.
Colors are mapped as in 1, and use dithering of size as defined using -d option. BWthreshold is used here as scaler.
Default is option 0, which is much faster than the other two.

Invert the image, i.e. black -> white, white -> black.

Disable beeps. Every time the image is complete, or a wrong key was presses, sound is generated. The -b option disables that.

Print one line of command line help, similar to Usage above.

Interactive mode:

Once the image is displayed, the program goes into an interactive mode which recognizes the following commands:
C - get Color and position
In this submenu, a cursor appears and the location and color of the pixel underneath it are printed. The 4 arrows may be used (shifted for faster movement) to move the cursor. Any other key will abort this submode.

D - zoom Down
Zoom down by factor of 2 unless current zoom factor is 1.

H - Increase dither matrix size
...unless current size is maximum (4), in which case size is set to minimum (2).

I - Invert
Invert the image, i.e. white -> black, black -> white.

M - Method
Increment color -> BW mapping method, unless current method is maximum (2), in which case method is set to minimum (0).

R - Redraw
Redraw the image.

S - print Status
Print status of image and program.

U - zoom Up
Zoom up by factor of 2 unless current zoom factor is 256.

arrow keys
The 4 arrow keys can be used to pan in the desired direction, if the image overflows in that direction. If the image fits into the screen, arrow keys are ignored. The panning steps are 1/2 screen if not on image end.

SPC - abort
Space bar may be used to abort current image drawing.

ESC - abort
Escape may be used to abort current image drawing.


Gershon Elber
Eric S. Raymond <esr@snark.thyrsus.com>