home *** CD-ROM | disk | FTP | other *** search
Wrap
libpgm(3) Unix Programmer's Manual libpgm(3) NNNAAAMMMEEE libpgm - functions to support portable graymap programs SSSYYYNNNOOOPPPSSSIIISSS #include <pgm.h> cc ... libpgm.a libpbm.a DDDEEESSSCCCRRRIIIPPPTTTIIIOOONNN typedef ... gray; #define PGM_MAXMAXVAL ... extern gray pgm_pbmmaxval; EEEaaaccchhh gggrrraaayyy should contain only the values between 000 and PPPGGGMMM___MMMAAAXXXMMMAAAXXXVVVAAALLL. pppgggmmm___pppbbbmmmmmmaaaxxxvvvaaalll 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 ) FFFooorrr dddiiissstttiiinnnggguuuiiissshhhiiinnnggg dddiiiffffffeeerrreeennnttt fffiiillleee fffooorrrmmmaaatttsss aaannnddd tttyyypppeeesss... vvvoooiiiddd pppgggmmm___iiinnniiittt((( iiinnnttt*** aaarrrgggcccPPP,,, ccchhhaaarrr*** aaarrrgggvvv[[[]]] ))) AAAllllll PPPGGGMMM ppprrrooogggrrraaammmsss mmmuuusssttt cccaaallllll ttthhhiiisss rrrooouuutttiiinnneee... gggrrraaayyy****** pppgggmmm___aaallllllooocccaaarrrrrraaayyy((( iiinnnttt cccooolllsss,,, iiinnnttt rrrooowwwsss ))) AAAllllllooocccaaattteee aaannn aaarrrrrraaayyy ooofff gggrrraaayyysss... gggrrraaayyy*** pppgggmmm___aaallllllooocccrrrooowww((( iiinnnttt cccooolllsss ))) AAAllllllooocccaaattteee aaa rrrooowww ooofff ttthhheee gggiiivvveeennn nnnuuummmbbbeeerrr ooofff gggrrraaayyysss... vvvoooiiiddd pppgggmmm___fffrrreeeeeeaaarrrrrraaayyy((( gggrrraaayyy****** gggrrraaayyysss,,, iiinnnttt rrrooowwwsss ))) FFFrrreeeeee ttthhheee aaarrrrrraaayyy aaallllllooocccaaattteeeddd wwwiiittthhh pppgggmmm___aaallllllooocccaaarrrrrraaayyy((())) containing the given number of rows. void pgm_freerow( gray* grayrow ) FFFrrreeeeee aaa rrrooowww ooofff gggrrraaayyysss... vvvoooiiiddd pppgggmmm___rrreeeaaadddpppgggmmmiiinnniiittt((( FFFIIILLLEEE*** fffppp,,, iiinnnttt*** cccooolllsssPPP,,, iiinnnttt*** rrrooowwwsssPPP,,, gggrrraaayyy*** mmmaaaxxxvvvaaalllPPP,,, iiinnnttt*** fffooorrrmmmaaatttPPP ))) RRReeeaaaddd ttthhheee hhheeeaaadddeeerrr fffrrrooommm aaa PPPGGGMMM fffiiillleee,,, fffiiilllllliiinnnggg iiinnn ttthhheee rrrooowwwsss,,, cccooolllsss,,, mmmaaaxxxvvvaaalll aaannnddd fffooorrrmmmaaattt vvvaaarrriiiaaabbbllleeesss... vvvoooiiiddd pppgggmmm___rrreeeaaadddpppgggmmmrrrooowww((( FFFIIILLLEEE*** fffppp,,, gggrrraaayyy*** gggrrraaayyyrrrooowww,,, iiinnnttt cccooolllsss,,, gggrrraaayyy mmmaaaxxxvvvaaalll,,, iiinnnttt fffooorrrmmmaaattt ))) 1 libpgm(3) Unix Programmer's Manual libpgm(3) RRReeeaaaddd aaa rrrooowww ooofff gggrrraaayyysss iiinnntttooo ttthhheee gggrrraaayyyrrrooowww aaarrrrrraaayyy... FFFooorrrmmmaaattt,,, cccooolllsss,,, aaannnddd mmmaaaxxxvvvaaalll wwweeerrreee fffiiilllllleeeddd iiinnn bbbyyy pppgggmmm___rrreeeaaadddpppgggmmmiiinnniiittt((())). gray** pgm_readpgm( FILE* fp, int* colsP, int* rowsP, gray* maxvalP ) RRReeeaaaddd aaannn eeennntttiiirrreee gggrrraaayyymmmaaappp fffiiillleee iiinnntttooo mmmeeemmmooorrryyy,,, rrreeetttuuurrrnnniiinnnggg ttthhheee aaallllllooocccaaattteeeddd aaarrrrrraaayyy aaannnddd fffiiilllllliiinnnggg iiinnn ttthhheee rrrooowwwsss,,, cccooolllsss aaannnddd mmmaaaxxxvvvaaalll vvvaaarrriiiaaabbbllleeesss... TTThhhiiisss fffuuunnnccctttiiiooonnn cccooommmbbbiiinnneeesss pppgggmmm___rrreeeaaadddpppgggmmmiiinnniiittt((())), pppgggmmm___aaallllllooocccaaarrrrrraaayyy((())) and pppgggmmm___rrreeeaaadddpppgggmmmrrrooowww((())). void pgm_writepgminit( FILE* fp, int cols, int rows, gray maxval, int forceplain ) WWWrrriiittteee ttthhheee hhheeeaaadddeeerrr fffooorrr aaa pppooorrrtttaaabbbllleee gggrrraaayyymmmaaappp fffiiillleee... TTThhheee fffooorrrccceeeppplllaaaiiinnn ffflllaaaggg fffooorrrccceeesss aaa ppplllaaaiiinnn-fffooorrrmmmaaattt fffiiillleee tttooo bbbeee wwwrrriiitttttteeennn,,, aaasss oooppppppooossseeeddd tttooo aaa rrraaawww-fffooorrrmmmaaattt ooonnneee... vvvoooiiiddd pppgggmmm___wwwrrriiittteeepppgggmmmrrrooowww((( FFFIIILLLEEE*** fffppp,,, gggrrraaayyy*** gggrrraaayyyrrrooowww,,, iiinnnttt cccooolllsss,,, gggrrraaayyy mmmaaaxxxvvvaaalll,,, iiinnnttt fffooorrrccceeeppplllaaaiiinnn ))) WWWrrriiittteee aaa rrrooowww fffrrrooommm aaa pppooorrrtttaaabbbllleee gggrrraaayyymmmaaappp... vvvoooiiiddd pppgggmmm___wwwrrriiittteeepppgggmmm((( FFFIIILLLEEE*** fffppp,,, gggrrraaayyy****** gggrrraaayyysss,,, iiinnnttt cccooolllsss,,, iiinnnttt rrrooowwwsss,,, gggrrraaayyy mmmaaaxxxvvvaaalll,,, iiinnnttt fffooorrrccceeeppplllaaaiiinnn ))) WWWrrriiittteee ttthhheee hhheeeaaadddeeerrr aaannnddd aaallllll dddaaatttaaa fffooorrr aaa pppooorrrtttaaabbbllleee gggrrraaayyymmmaaappp... TTThhhiiisss fffuuunnnccctttiiiooonnn cccooommmbbbiiinnneeesss pppgggmmm___wwwrrriiittteeepppgggmmmiiinnniiittt((())) and pppgggmmm___wwwrrriiittteeepppgggmmmrrrooowww((())). SSSEEEEEE AAALLLSSSOOO libpbm(3), libppm(3), libpnm(3) AAAUUUTTTHHHOOORRR Copyright (C) 1989, 1991 by Tony Hansen and Jef Poskanzer. 2