home *** CD-ROM | disk | FTP | other *** search
/ Mega A/V / mega_av.zip / mega_av / GRAPHUTL / PBMPLUS.ZIP / LIBPNM.MAN < prev    next >
Text File  |  1991-08-11  |  15KB  |  199 lines

  1.  
  2.  
  3. libpnm(3)                  Unix Programmer's Manual                  libpnm(3)
  4.  
  5.  
  6. NNNAAAMMMEEE
  7.      libpnm - functions to support portable anymap programs
  8.  
  9. SSSYYYNNNOOOPPPSSSIIISSS
  10.  
  11.      #include <pnm.h>
  12.      cc ... libpnm.a libppm.a libpgm.a libpbm.a
  13.  
  14.  
  15. DDDEEESSSCCCRRRIIIPPPTTTIIIOOONNN
  16.  
  17.      typedef ... xel;
  18.      typedef ... xelval;
  19.      #define PNM_MAXMAXVAL ...
  20.      extern xelval pnm_pbmmaxval;
  21.  
  22.      EEEaaaccchhh xxxeeelll contains three xxxeeelllvvvaaallls, each of which should  contain  only  the
  23.      values  between  000  and  PPPNNNMMM___MMMAAAXXXMMMAAAXXXVVVAAALLL.  pppnnnmmm___pppbbbmmmmmmaaaxxxvvvaaalll is the maxval used
  24.      when a PNM program reads a PBM file.  Normally it is 1; however, for some
  25.      programs, a larger value gives better results.
  26.  
  27.      xelval PNM_GET1( xel x )
  28.  
  29.      TTThhhiiisss mmmaaacccrrrooo eeexxxtttrrraaaccctttsss aaa sssiiinnngggllleee vvvaaallluuueee fffrrrooommm aaannn xxxeeelll,,, wwwhhheeennn yyyooouuu kkknnnooowww iiittt'''sss fffrrrooommm aaa
  30.      PPPBBBMMM  ooorrr PPPGGGMMM fffiiillleee...  WWWhhheeennn iiittt'''sss fffrrrooommm aaa PPPPPPMMM fffiiillleee,,, uuussseee PPPPPPMMM___GGGEEETTTRRR((())), PPPPPPMMM___GGGEEETTTGGG((())),
  31.      and PPPPPPMMM___GGGEEETTTBBB((())).
  32.  
  33.      void PNM_ASSIGN1( xel x, xelval v )
  34.  
  35.      TTThhhiiisss mmmaaacccrrrooo aaassssssiiigggnnnsss aaa sssiiinnngggllleee vvvaaallluuueee tttooo aaannn xxxeeelll,,, wwwhhheeennn yyyooouuu kkknnnooowww  iiittt'''sss  fffrrrooommm  aaa
  36.      PPPBBBMMM ooorrr PPPGGGMMM fffiiillleee...  WWWhhheeennn iiittt'''sss fffrrrooommm aaa PPPPPPMMM fffiiillleee,,, uuussseee PPPPPPMMM___AAASSSSSSIIIGGGNNN((())).
  37.  
  38.      int PNM_EQUAL( xel x, xel y )
  39.  
  40.      TTThhhiiisss mmmaaacccrrrooo ccchhheeeccckkksss tttwwwooo xxxeeelllsss fffooorrr eeeqqquuuaaallliiitttyyy...
  41.  
  42.      iiinnnttt PPPNNNMMM___FFFOOORRRMMMAAATTT___TTTYYYPPPEEE((( iiinnnttt fffooorrrmmmaaattt )))
  43.  
  44.      FFFooorrr dddiiissstttiiinnnggguuuiiissshhhiiinnnggg dddiiiffffffeeerrreeennnttt fffiiillleee tttyyypppeeesss...
  45.  
  46.      vvvoooiiiddd pppnnnmmm___iiinnniiittt((( iiinnnttt*** aaarrrgggcccPPP,,, ccchhhaaarrr*** aaarrrgggvvv[[[]]] )))
  47.  
  48.      AAAllllll PPPNNNMMM ppprrrooogggrrraaammmsss mmmuuusssttt cccaaallllll ttthhhiiisss rrrooouuutttiiinnneee...
  49.  
  50.      xxxeeelll****** pppnnnmmm___aaallllllooocccaaarrrrrraaayyy((( iiinnnttt cccooolllsss,,, iiinnnttt rrrooowwwsss )))
  51.  
  52.      AAAllllllooocccaaattteee aaannn aaarrrrrraaayyy ooofff xxxeeelllsss...
  53.  
  54.      xxxeeelll*** pppnnnmmm___aaallllllooocccrrrooowww((( iiinnnttt cccooolllsss )))
  55.  
  56.      AAAllllllooocccaaattteee aaa rrrooowww ooofff ttthhheee gggiiivvveeennn nnnuuummmbbbeeerrr ooofff xxxeeelllsss...
  57.  
  58.      vvvoooiiiddd pppnnnmmm___fffrrreeeeeeaaarrrrrraaayyy((( xxxeeelll****** xxxeeelllsss,,, iiinnnttt rrrooowwwsss )))
  59.  
  60.      FFFrrreeeeee ttthhheee aaarrrrrraaayyy  aaallllllooocccaaattteeeddd  wwwiiittthhh  pppnnnmmm___aaallllllooocccaaarrrrrraaayyy((()))  containing  the  given
  61.      number of rows.
  62.  
  63.  
  64.                                                                              1
  65.  
  66.  
  67.  
  68.  
  69. libpnm(3)                  Unix Programmer's Manual                  libpnm(3)
  70.  
  71.  
  72.      void pnm_freerow( xel* xelrow )
  73.  
  74.      FFFrrreeeeee aaa rrrooowww ooofff xxxeeelllsss...
  75.  
  76.      vvvoooiiiddd pppnnnmmm___rrreeeaaadddpppnnnmmmiiinnniiittt((( FFFIIILLLEEE*** fffppp,,, iiinnnttt*** cccooolllsssPPP,,, iiinnnttt*** rrrooowwwsssPPP,,, xxxeeelllvvvaaalll***  mmmaaaxxxvvvaaalllPPP,,,
  77.      iiinnnttt*** fffooorrrmmmaaatttPPP )))
  78.  
  79.      RRReeeaaaddd ttthhheee hhheeeaaadddeeerrr fffrrrooommm aaa PPPNNNMMM fffiiillleee,,, fffiiilllllliiinnnggg iiinnn ttthhheee rrrooowwwsss,,,  cccooolllsss,,,  mmmaaaxxxvvvaaalll  aaannnddd
  80.      fffooorrrmmmaaattt vvvaaarrriiiaaabbbllleeesss...
  81.  
  82.      vvvoooiiiddd pppnnnmmm___rrreeeaaadddpppnnnmmmrrrooowww((( FFFIIILLLEEE*** fffppp,,, xxxeeelll*** xxxeeelllrrrooowww,,, iiinnnttt cccooolllsss,,, xxxeeelllvvvaaalll mmmaaaxxxvvvaaalll,,,  iiinnnttt
  83.      fffooorrrmmmaaattt )))
  84.  
  85.      RRReeeaaaddd aaa rrrooowww ooofff xxxeeelllsss iiinnntttooo ttthhheee xxxeeelllrrrooowww aaarrrrrraaayyy...  FFFooorrrmmmaaattt,,, cccooolllsss,,, aaannnddd mmmaaaxxxvvvaaalll  wwweeerrreee
  86.      fffiiilllllleeeddd iiinnn bbbyyy pppnnnmmm___rrreeeaaadddpppnnnmmmiiinnniiittt((())).
  87.  
  88.      xel** pnm_readpnm( FILE* fp, int* colsP,  int*  rowsP,  xelval*  maxvalP,
  89.      int* formatP )
  90.  
  91.      RRReeeaaaddd aaannn eeennntttiiirrreee aaannnyyymmmaaappp fffiiillleee iiinnntttooo mmmeeemmmooorrryyy,,, rrreeetttuuurrrnnniiinnnggg ttthhheee aaallllllooocccaaattteeeddd aaarrrrrraaayyy aaannnddd
  92.      fffiiilllllliiinnnggg  iiinnn  ttthhheee rrrooowwwsss,,, cccooolllsss,,, mmmaaaxxxvvvaaalll,,, aaannnddd fffooorrrmmmaaattt vvvaaarrriiiaaabbbllleeesss...  TTThhhiiisss fffuuunnnccctttiiiooonnn
  93.      cccooommmbbbiiinnneeesss  pppnnnmmm___rrreeeaaadddpppnnnmmmiiinnniiittt((())),   pppnnnmmm___aaallllllooocccaaarrrrrraaayyy((()))   and   pppnnnmmm___rrreeeaaadddpppnnnmmmrrrooowww((())).
  94.      Unlike  the  equivalent  functions  in  PBM, PGM, and PPM, it returns the
  95.      format so you can tell what type the file is.
  96.  
  97.      void pnm_writepnminit( FILE* fp, int cols, int rows, xelval  maxval,  int
  98.      format, int forceplain )
  99.  
  100.      WWWrrriiittteee ttthhheee hhheeeaaadddeeerrr fffooorrr aaa  pppooorrrtttaaabbbllleee  aaannnyyymmmaaappp  fffiiillleee...   UUUnnnllliiikkkeee  ttthhheee  eeeqqquuuiiivvvaaallleeennnttt
  101.      fffuuunnnccctttiiiooonnnsss iiinnn PPPBBBMMM,,, PPPGGGMMM,,, aaannnddd PPPPPPMMM,,, yyyooouuu hhhaaavvveee tttooo ssspppeeeccciiifffyyy ttthhheee ooouuutttpppuuuttt tttyyypppeee...  TTThhheee
  102.      fffooorrrccceeeppplllaaaiiinnn ffflllaaaggg fffooorrrccceeesss aaa ppplllaaaiiinnn-fffooorrrmmmaaattt fffiiillleee tttooo bbbeee wwwrrriiitttttteeennn,,, aaasss oooppppppooossseeeddd tttooo aaa
  103.      rrraaawww-fffooorrrmmmaaattt ooonnneee...
  104.  
  105.      vvvoooiiiddd pppnnnmmm___wwwrrriiittteeepppnnnmmmrrrooowww((( FFFIIILLLEEE*** fffppp,,, xxxeeelll*** xxxeeelllrrrooowww,,, iiinnnttt cccooolllsss,,, xxxeeelllvvvaaalll mmmaaaxxxvvvaaalll,,, iiinnnttt
  106.      fffooorrrmmmaaattt,,, iiinnnttt fffooorrrccceeeppplllaaaiiinnn )))
  107.  
  108.      WWWrrriiittteee aaa rrrooowww fffrrrooommm aaa pppooorrrtttaaabbbllleee aaannnyyymmmaaappp...
  109.  
  110.      vvvoooiiiddd pppnnnmmm___wwwrrriiittteeepppnnnmmm((( FFFIIILLLEEE*** fffppp,,, xxxeeelll******  xxxeeelllsss,,,  iiinnnttt  cccooolllsss,,,  iiinnnttt  rrrooowwwsss,,,  xxxeeelllvvvaaalll
  111.      mmmaaaxxxvvvaaalll,,, iiinnnttt fffooorrrmmmaaattt,,, iiinnnttt fffooorrrccceeeppplllaaaiiinnn )))
  112.  
  113.      WWWrrriiittteee ttthhheee hhheeeaaadddeeerrr aaannnddd aaallllll dddaaatttaaa  fffooorrr  aaa  pppooorrrtttaaabbbllleee  aaannnyyymmmaaappp...   TTThhhiiisss  fffuuunnnccctttiiiooonnn
  114.      cccooommmbbbiiinnneeesss pppnnnmmm___wwwrrriiittteeepppnnnmmmiiinnniiittt((())) and pppnnnmmm___wwwrrriiittteeepppnnnmmmrrrooowww((())).
  115.  
  116.      void pnm_promoteformatrow( xel* xelrow,  int  cols,  xelval  maxval,  int
  117.      format, xelval newmaxval, int newformat )
  118.  
  119.      PPPrrrooommmooottteee aaa rrrooowww ooofff xxxeeelllsss fffrrrooommm ooonnneee mmmaaaxxxvvvaaalll aaannnddd fffooorrrmmmaaattt tttooo aaa nnneeewww ssseeettt...  UUUssseeeddd wwwhhheeennn
  120.      cccooommmbbbiiinnniiinnnggg  mmmuuullltttiiipppllleee aaannnyyymmmaaapppsss ooofff dddiiiffffffeeerrreeennnttt tttyyypppeeesss --- jjjuuusssttt tttaaakkkeee ttthhheee mmmaaaxxx ooofff ttthhheee
  121.      mmmaaaxxxvvvaaalllsss aaannnddd ttthhheee mmmaaaxxx ooofff ttthhheee fffooorrrmmmaaatttsss,,, aaannnddd ppprrrooommmooottteee ttthhhaaammm aaallllll tttooo ttthhhaaattt...
  122.  
  123.      vvvoooiiiddd pppnnnmmm___ppprrrooommmooottteeefffooorrrmmmaaattt((( xxxeeelll****** xxxeeelllsss,,, iiinnnttt cccooolllsss,,, iiinnnttt  rrrooowwwsss,,,  xxxeeelllvvvaaalll  mmmaaaxxxvvvaaalll,,,
  124.      iiinnnttt fffooorrrmmmaaattt,,, xxxeeelllvvvaaalll nnneeewwwmmmaaaxxxvvvaaalll,,, iiinnnttt nnneeewwwfffooorrrmmmaaattt )))
  125.  
  126.      PPPrrrooommmooottteee aaannn eeennntttiiirrreee aaannnyyymmmaaappp...
  127.  
  128.  
  129.  
  130.                                                                              2
  131.  
  132.  
  133.  
  134.  
  135. libpnm(3)                  Unix Programmer's Manual                  libpnm(3)
  136.  
  137.  
  138.      xxxeeelll pppnnnmmm___wwwhhhiiittteeexxxeeelll((( xxxeeelllvvvaaalll mmmaaaxxxvvvaaalll,,, iiinnnttt fffooorrrmmmaaattt )))
  139.      xxxeeelll pppnnnmmm___bbblllaaaccckkkxxxeeelll((( xxxeeelllvvvaaalll mmmaaaxxxvvvaaalll,,, iiinnnttt fffooorrrmmmaaattt )))
  140.  
  141.      RRReeetttuuurrrnnn aaa wwwhhhiiittteee ooorrr bbblllaaaccckkk xxxeeelll fffooorrr ttthhheee gggiiivvveeennn mmmaaaxxxvvvaaalll aaannnddd fffooorrrmmmaaattt...
  142.  
  143.      vvvoooiiiddd pppnnnmmm___iiinnnvvveeerrrtttxxxeeelll((( xxxeeelll*** xxx,,, xxxeeelllvvvaaalll mmmaaaxxxvvvaaalll,,, iiinnnttt fffooorrrmmmaaattt )))
  144.  
  145.      IIInnnvvveeerrrttt aaannn xxxeeelll...
  146.  
  147.      xxxeeelll pppnnnmmm___bbbaaaccckkkgggrrrooouuunnndddxxxeeelllrrrooowww((( xxxeeelll***  xxxeeelllrrrooowww,,,  iiinnnttt  cccooolllsss,,,  xxxeeelllvvvaaalll  mmmaaaxxxvvvaaalll,,,  iiinnnttt
  148.      fffooorrrmmmaaattt )))
  149.  
  150.      FFFiiiggguuurrreee ooouuuttt aaannn aaapppppprrroooppprrriiiaaattteee bbbaaaccckkkgggrrrooouuunnnddd xxxeeelll bbbaaassseeeddd ooonnn ttthhhiiisss rrrooowww...
  151.  
  152.      xxxeeelll pppnnnmmm___bbbaaaccckkkgggrrrooouuunnndddxxxeeelll((( xxxeeelll****** xxxeeelllsss,,, iiinnnttt cccooolllsss,,, iiinnnttt rrrooowwwsss,,, xxxeeelllvvvaaalll mmmaaaxxxvvvaaalll,,, iiinnnttt
  153.      fffooorrrmmmaaattt )))
  154.  
  155.      FFFiiiggguuurrreee ooouuuttt aaa bbbaaaccckkkgggrrrooouuunnnddd xxxeeelll bbbaaassseeeddd ooonnn aaannn eeennntttiiirrreee aaannnyyymmmaaappp...   TTThhhiiisss  cccaaannn  dddooo  aaa
  156.      sssllliiiggghhhtttlllyyy bbbeeetttttteeerrr jjjooobbb ttthhhaaannn pppnnnmmm___bbbaaaccckkkgggrrrooouuunnndddxxxeeelllrrrooowww((())).
  157.  
  158. SSSEEEEEE AAALLLSSSOOO
  159.      pbm(3), pgm(3), ppm(3)
  160.  
  161. AAAUUUTTTHHHOOORRR
  162.      Copyright (C) 1989, 1991 by Tony Hansen and Jef Poskanzer.
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.                                                                              3
  197.  
  198.  
  199.