Pegasus InfoCorp: Web site design and web software development company

libpgm (3)

functions to support portable graymap programs

SYNOPSIS

    Ss CW
    
    Se
    
    P #include <pgm.h> cc ... libpgm.a libpbm.a

DESCRIPTION

    typedef ... gray; #define PGM_MAXMAXVAL ... extern gray pgm_pbmmaxval; Each gray should contain only the values between 0 and PGM_MAXMAXVAL . pgm_pbmmaxval is the maxval used when a PGM program reads a PBM file. Normally it is 1; however, for some programs, a larger value gives better results. #define PGM_FORMAT ... #define RPGM_FORMAT ... #define PGM_TYPE PGM_FORMAT int PGM_FORMAT_TYPE( int format ) For distinguishing different file formats and types. void pgm_init( int* argcP, char* argv[] ) All PGM programs must call this routine. gray** pgm_allocarray( int cols, int rows ) Allocate an array of grays. gray* pgm_allocrow( int cols ) Allocate a row of the given number of grays. void pgm_freearray( gray** grays, int rows ) Free the array allocated with pgm_allocarray() containing the given number of rows. void pgm_freerow( gray* grayrow ) Free a row of grays. void pgm_readpgminit( FILE* fp, int* colsP, int* rowsP, gray* maxvalP, int* formatP ) Read the header from a PGM file, filling in the rows, cols, maxval and format variables. void pgm_readpgmrow( FILE* fp, gray* grayrow, int cols, gray maxval, int format ) Read a row of grays into the grayrow array. Format, cols, and maxval were filled in by pgm_readpgminit() . gray** pgm_readpgm( FILE* fp, int* colsP, int* rowsP, gray* maxvalP ) Read an entire graymap file into memory, returning the allocated array and filling in the rows, cols and maxval variables. This function combines pgm_readpgminit() , pgm_allocarray() and pgm_readpgmrow() . void pgm_writepgminit( FILE* fp, int cols, int rows, gray maxval, int forceplain ) Write the header for a portable graymap file. The forceplain flag forces a plain-format file to be written, as opposed to a raw-format one. void pgm_writepgmrow( FILE* fp, gray* grayrow, int cols, gray maxval, int forceplain ) Write a row from a portable graymap. void pgm_writepgm( FILE* fp, gray** grays, int cols, int rows, gray maxval, int forceplain ) Write the header and all data for a portable graymap. This function combines pgm_writepgminit() and pgm_writepgmrow() .

SEE ALSO

AUTHOR

    Copyright (C) 1989, 1991 by Tony Hansen and Jef Poskanzer.