Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
User manual for	old pgm	funLibrary3FunctioUseramanual for old pgm functions(3)

NAME
       libpgm -	libnetpbm functions to read and	write PGM image	files

SYNOPSIS
       #include	<netpbm/pgm.h>

       void pgm_init( int *argcP, char *argv[] );

       gray ** pgm_allocarray( int cols, int rows );

       gray * pgm_allocrow( intcols );

       void pgm_freearray( gray	**grays, introws );

       void pgm_freerow( gray *grayrow);

       void  pgm_readpgminit( FILE *fp,	int *colsP, int	*rowsP,	gray *maxvalP,
       int *formatP );

       void pgm_readpgmrow( FILE *fp, gray *grayrow, int  cols,	 gray  maxval,
       int format );

       gray ** pgm_readpgm( FILE *fp, int *colsP, int *rowsP, gray *maxvalP );

       void  pgm_writepgminit(	FILE  *	 fp , int cols,	int rows, gray maxval,
       int forceplain );

       void pgm_writepgmrow( FILE *fp, gray *grayrow, int cols,	 gray  maxval,
       int forceplain );

       void  pgm_writepgm(  FILE  *fp, gray ** grays, int cols,	int rows, gray
       maxval, int forceplain );

       void pgm_writepgm( FILE *fp, gray **grays, int  cols,  int  rows,  gray
       maxval, int forceplain );

       void pgm_nextimage( FILE	*file, int * const eofP);

       void pgm_check( FILE * file, const enum pm_check_type check_type, const
       int format, const int cols, const int  rows,  const  int	 maxval,  enum
       pm_check_code * const retval);

       typedef ... gray;

       #define PGM_MAXMAXVAL ...

       #define PGM_OVERALLMAXVAL ...

       #define PGM_FORMAT ...

       #define RPGM_FORMAT ...

       #define PGM_TYPE	PGM_FORMAT

       #define

       PGM_FORMAT_TYPE(format) ...

DESCRIPTION
       These library functions are part	of Netpbm(1).

   TYPES AND CONSTANTS
       Each  gray should contain only the values between 0 and PGM_OVERALLMAX-
       VAL.

       PGM_OVERALLMAXVAL is the	maximum	value of  a  maxval  in	 a  PGM	 file.
       PGM_MAXMAXVAL  is  the  maximum value of	a maxval in a PGM file that is
       compatible with the PGM format as it existed before April 2000.	It  is
       also the	maximum	value of a maxval that results in the minimum possible
       raster size for a particular image.  I.e	an image with a	maxval	higher
       than  PGM_MAXMAXVAL  cannot  be read or generated by old	PGM processing
       programs	and requires more file space.

       PGM_FORMAT  is the format code for  a  Plain  PGM  format  image	 file.
       RPGM_FORMAT  is	the  format  code  for	a  Raw	PGM format image file.
       PGM_TYPE	 is the	format type code for the PGM formats.  PGM_FORMAT_TYPE
       is a macro that generates code to compute the format type code of a PBM
       or PGM format from the format code which	is its argument.

   INITIALIZATION
       pgm_init() is obsolete (at least	since Netpbm 9.25 (March 2002)).   Use
       pm_proginit() <libpm.html#initialization>  instead.

       pgm_init() is identical to pm_proginit.

   MEMORY MANAGEMENT
       pgm_allocarray()	allocates an array of grays.

       pgm_allocrow() allocates	a row of the given number of grays.

       pgm_freearray()	frees  the  array allocated with pgm_allocarray() con-
       taining the given number	of rows.

       pgm_freerow() frees a row of grays allocated with pgm_allocrow().

   READING FILES
       If a function in	this section is	called on a PBM	format file, it	trans-
       lates  the  PBM	file into a PGM	file on	the fly	and functions as if it
       were called on the equivalent PGM file.	The format value  returned  by
       pgm_readpgminit()  is,  however,	not translated.	 It represents the ac-
       tual format of the PBM file.

       pgm_readpgminit() reads the header of a PGM file, returning all the in-
       formation  from	the  header and	leaving	the file positioned just after
       the header.

       pgm_readpgmrow()	reads a	row of grays into the grayrow
	array.	 format,  cols,	 and  maxval   are  the	 values	 returned   by
       pgm_readpgminit().

       pgm_readpgm()  reads an entire PGM image	into memory, returning the al-
       located array as	its return value and returning	the  information  from
       the   header  as	 rows,	cols,  and  maxval.   This  function  combines
       pgm_readpgminit(), pgm_allocarray(), and	pgm_readpgmrow().

       pgm_readpgminit() and pgm_readpgm abort the program with	a  message  to
       Standard	 Error if the PGM image	header is not syntactically valid, in-
       cluding if it contains a	number too large to  be	 processed  using  the
       system's	normal data structures (to wit,	a number that won't fit	in a C
       'int').

   WRITING FILES
       pgm_writepgminit() writes the header for	a PGM file and leaves it posi-
       tioned just after the header.

       forceplain is a logical value that tells	pgm_writepgminit()  to write a
       header for a plain PGM format file, as opposed  to  a  raw  PGM	format
       file.

       pgm_writepgmrow() writes	the row	grayrow	to a PGM file.	For meaningful
       results,	cols, maxval, and forceplain must be the same as was used with
       pgm_writepgminit().

       pgm_writepgm()  write  the  header  and all data	for a PGM image.  This
       function	combines pgm_writepgminit() and	pgm_writepgmrow().

   MISCELLANEOUS
       pgm_nextimage() positions a PGM input file to the next image in it  (so
       that a subsequent pgm_readpgminit() reads its header).

       pgm_nextimage()	is  analogous to pbm_nextimage(), but works on PGM and
       PBM files.

       pgm_check()  checks for the common file integrity error where the  file
       is the wrong size to contain all	the image data.

       pgm_check()   is	 analogous  to	pbm_check(),  but works	on PGM and PBM
       files.

SEE ALSO
       libpbm(3), libppm(3), libpnm(3)

DOCUMENT SOURCE
       This manual page	was generated by the Netpbm tool 'makeman'  from  HTML
       source.	The master documentation is at

	      http://netpbm.sourceforge.net/doc/libpgm.html

netpbm documentation	       8 SeptemberUser7manual for old pgm functions(3)

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO | DOCUMENT SOURCE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=libpgm&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help