libpnm man page on YellowDog

Man page or keyword search:  
man Server   18644 pages
apropos Keyword Search (all sections)
Output format
YellowDog logo
[printable version]


				 pnm Functions

   Updated: 22 July 2004
   Table Of Contents

NAME

   libpnm ‐ libnetpbm functions to read and write PNM image files

SYNOPSIS

   #include <pnm.h>

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

   xel ** pnm_allocarray( int cols, int rows);

   xel * pnm_allocrow( int cols);

   void pnm_freearray( xel **xels, int rows);

   void pnm_freerow( xel *xelrow);

   void pnm_readpnminit( FILE *fp, int *colsP, int *rowsP, xelval
*maxvalP, int
   *formatP );

   void pnm_readpnmrow( FILE *fp, xel *xelrow, int cols,
   xelval maxval, int format );

   xel ** pnm_readpnm( FILE *fp, int *colsP, int *rowsP,
   xelval *maxvalP, int* formatP );

   void pnm_writepnminit( FILE * fp , int cols, int rows,  xelval
maxval, int
   format, int forceplain);

   void	 pnm_writepnmrow( FILE *fp, xel *xelrow, int cols, xelval
maxval, int
   format, int forceplain );

   void pnm_writepnm( FILE *fp, xel ** xels, int cols, int  rows,
xelval maxval,
   int format, int forceplain );

   void	  pnm_check(   FILE  *	file,  const  enum  pm_check_type
check_type, const int
   format,  const  int	cols,  const  int rows, const xelval max‐
val, enum
   pm_check_code *retvalP);

   void	 pnm_promoteformatrow( xel *xelrow, int cols, xelval max‐
val, int format,
   xelval newmaxval, int newformat);

   void pnm_promoteformat( xel **xels, int cols,  xelval  maxval,
int format,
   xelval newmaxval, int newformat);

   xel pnm_whitexel( xelval maxval, int format);

   xel pnm_blackxel( xelval maxval, int format);

   void pnm_invertxel( xel *x, xelval maxval, int format);

   xel	pnm_backgroundxelrow(  xel *xelrow, int cols, xelval max‐
val, int format);

   xel pnm_backgroundxel( xel **xels, int cols, int rows,  xelval
maxval, int
   format);

   typedef ... xelval;

   typedef ... xel;

   extern xelval pnm_pbmmaxval;

   #define PNM_ASSIGN1(x,v) ...

   #define PNM_GET1(x) ...

   #define PNM_EQUAL(x,y) ...

   #define PNM_FORMAT_TYPE(format) ...

DESCRIPTION

   These library functions are part of Netpbm.

  PNM TYPES AND CONSTANTS

   Each	 xel contains three xelvals, each of which should contain
only the
   values between 0 and PNM_MAXMAXVAL,	inclusive.  pnm_pbmmaxval
is the maxval
   used	 when  a  PNM program reads a PBM file. Normally it is 1;
however, for
   some programs, a larger value gives better results.

  PNM XEL MANIPULATIONS

   The PNM_GET1 macro extracts a single value from an  xel,  when
you know it’s
   from	  a   PBM   or	 PGM file. When it’s from a PPM file, use
PPM_GETR(),
   PPM_GETG(), and PPM_GETB().

   The PNM_ASSIGN1 macro assigns a single value to an  xel,  when
you know it’s
   from a PBM or PGM file. When it’s from a PPM file, use PPM_AS‐
SIGN. The
   PNM_EQUAL macro checks two xels  for	 equality.  The	 PNM_FOR‐
MAT_TYPE macro
   computes  a	format	type  code from a format code. The format
types are PBM,
   PGM, PPM, and PAM. But note that PBM, PGM, and  PPM	each  are
two different
   formats:  a	plain one and a raw one. So there are four format
types, but
   seven formats. PNM_FORMAT_TYPE does not work on the PAM format
code.

  INITIALIZATION

   pnm_init is identical to pm_init().

  MEMORY MANAGEMENT

   pnm_allocarray()   allocates	 space	for  an	 array	of  xels.
pnm_freearray() frees
   an array space allocated by pnm_allocarray() or pnm_readpnm().

   pnm_allocrow() allocates space for  a  row  of  a  PNM  image.
pnm_freerow() frees
   it.

  READING PNM FILES

   pnm_readpnminit()  is  similar to pnm_readpaminit(), but reads
only PNM images
   and has a different parameter list.

   pnm_readpnmrow() is similar to pnm_readpamrow() but only works
on PNM images
   and	has  a different parameter list and returns the row as an
array of xels
   instead of tuples.

   pnm_readpnm() is similar to pnm_readpam() except that it reads
only PNM
   images  and uses a different parameter list and returns an ar‐
ray of rows such
   that pnm_readpnmrow()  would	 return	 rather	 than  such  that
pnm_readpamrow()
   would return.

  WRITING FILES

   pnm_writepnminit()  is  similar  to	pnm_writepaminit() except
that it can write
   only a PNM header and has a different parameter list.

   forceplain is a binary value. True (nonzero)	 means	to  write
the image in the
   plain  (ASCII)  version  of	the selected format. False (zero)
means to write it
   in  the  raw	 (binary)  version of the  selected  format.  See
PNM format
   specification.

   pnm_writepnmrow()  is similar to pnm_writepamrow() except that
it works only
   on PNM images and has a different parameter list and takes  an
array of xels
   instead  of	an array of tuples. See the description of force‐
plain above.

   pnm_writepnm() is similar to	 pnm_writepam()	 except	 that  it
works only on PNM
   image,  has	a different parameter list, and takes an array of
rows of xels
   instead of an array of rows of tuples. See the description  of
forceplain
   above.

  MISCELLANEOUS

   pnm_check()	is similar to pnm_checkpam() except it works only
on PNM images.

   pnm_check() is identical to ppm_check().

  PNM FORMAT PROMOTION

   pnm_promoteformatrow() promotes a row of xels from one  maxval
and format to
   a new set. Use this when you are combining multiple anymaps of
different
   types ‐ just take the maximum of the maxvals and  the  maximum
of the formats,
   and promote them all to that.

   pnm_promoteformat() promotes an entire anymap.

  PNM XEL MANIPULATION

   pnm_whitexel() and pnm_blackxel() return a white or black xel,
respectively,
   for the given maxval and format.

   pnm_invertxel() inverts an xel.

   pnm_backgroundxelrow() figures out an  appropriate  background
xel based on
   the	row  of	 xels xelrow, which is cols xels wide, has maxval
maxval, and
   represents an image with format format.

   This estimate works best when the row is the top or bottom row
of the image.

   pnm_backgroundxel()	does the same thing as pnm_backgroundxel‐
row(), except
   based  on  an entire image instead of just one row. This tends
to do a
   slightly better job than pnmbackgroundxelrow().

SEE ALSO

   Libnetpbm,  Libnetpbm  User’s Guide, Libnetpbm Directory, pbm,
pgm, ppm, pam,
   libpbm, libpgm, libppm

AUTHOR

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

Table Of Contents

     * NAME
     * SYNOPSIS
     * DESCRIPTION
	  + PNM TYPES AND CONSTANTS
	  + PNM XEL MANIPULATIONS
	  + The
	  + INITIALIZATION
	  + MEMORY MANAGEMENT
	  + READING PNM FILES
	  + WRITING FILES
	  + MISCELLANEOUS
	  + PNM FORMAT PROMOTION
	  + PNM XEL MANIPULATION
     * SEE ALSO
     * AUTHOR

[top]

List of man pages available for YellowDog

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net