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

  1.                   Extended Portable Bitmap Toolkit
  2.                  BETA TEST distribution of 05feb91
  3.                    Previous distribution 25jan91
  4.  
  5.  
  6. PBMPLUS is a toolkit for converting various image formats to and from
  7. portable formats, and therefore to and from each other.  The idea is,
  8. if you want to convert among N image formats, you only need 2*N
  9. conversion filters, instead of the N^2 you would need if you wrote each
  10. one separately.
  11.  
  12. In addition to the converters, the package includes some simple tools
  13. for manipulating the portable formats.
  14.  
  15. The package is broken up into four parts (five parts if you count this
  16. one, the zeroth part).  First is PBM, for bitmaps (1 bit per pixel).
  17. Then there is PGM, for grayscale images.  Next is PPM, for full-color
  18. images.  Last, there is PNM, which does content-independent
  19. manipulations on any of the three internal formats, and also handles
  20. external formats that have multiple types.
  21.  
  22. The parts are upwards compatible: PGM reads both PGM and PBM files and
  23. writes PGM; PPM reads all three and write PPM; and PNM reads all three
  24. and writes, usually, the same type as it read.  Whenever PNM makes an
  25. exception and "promotes" a file to a higher format, it lets you know.
  26.  
  27. The parts are also semi-independent; if you're only going to deal with
  28. bitmaps, you don't have to install PGM and PPM, and this makes PNM run
  29. faster; if you want PGM, you must install PBM but can leave PPM out;
  30. but if you want PPM, you must install both PGM and PBM.  PNM is
  31. optional but recommended.
  32.  
  33.  
  34. INSTALLATION
  35.  
  36.     Unpack the files.
  37.     Decide whether you want to use Imakefiles or Makefiles.  If you want
  38.       to use Makefiles:
  39.  
  40.     Edit the top-level Makefile, find each line with the string
  41.       "CONFIGURE", and follow the directions for setting configuration
  42.       options.
  43.     Likewise edit pbmplus.h.
  44.     Likewise edit pnm/Makefile.
  45.     If you are using gnu make, you have to edit *all* the Makefiles
  46.       and remove all the imake stuff at the ends, otherwise gnu make
  47.       will overwrite the Makefiles.
  48.     Make.
  49.     When you're happy that things work ok, make install.
  50.     
  51.     If you want to use Imakefiles instead:
  52.  
  53.     Edit the top-level Imakefile, find each line with the string
  54.       "CONFIGURE", and follow the directions for setting configuration
  55.       options.
  56.     Likewise edit pbmplus.h.
  57.     Likewise edit pnm/Imakefile.
  58.     Edit Makefile and */Makefile, look towards the end for the
  59.       definition of TOP, and change it to point to your X11 tree.
  60.     Save the original Makefiles, in case you later want to switch back
  61.       to using them.
  62.     Touch Imakefile, since you just editted Makefile.
  63.     Make Makefile, make Makefiles, make depend, then make.
  64.     When you're happy that things work ok, make install.
  65.  
  66. After installing the manual pages, you may want to create the "whatis"
  67. file by doing a catman -w -M <directory>, or whatever the equivalent is
  68. on your system.
  69.  
  70.  
  71. SUPPORT
  72.  
  73. I've tested this stuff under SysV and BSD, on Sun 3's 4's and 386's and
  74. Sequents and Vaxen and HPs, with cc and gcc.  Nevertheless, I'm sure bugs
  75. remain, and portability to systems like Amigas and IBM compatibles is
  76. an interesting question.  Feedback is welcome; send bug reports,
  77. enhancements, etc. to this address:
  78.  
  79.     jef@well.sf.ca.us
  80.     {apple, ucbvax, hplabs}!well!jef
  81.  
  82. When sending bug reports, be sure to mention what version you have (see
  83. the head of this file), what system you are on, and what compiler you
  84. used.  I try to respond to bug reports and enhancements promptly; say,
  85. within a week.
  86.  
  87. Also, if there is a new format or feature you would like to have added
  88. to the package, feel free to drop me a line.  If it's a format, include
  89. whatever documentation you have, and if possible a uuencoded sample.
  90. My response time will depend on how busy I am, and how easy the job
  91. looks.  If you need it right away, or it's a complicated job, you might
  92. consider paying me; lately, that's how a lot of work on the package has
  93. gotten done.
  94.  
  95. Finally, if you have access to Usenet, there's a newsgroup called
  96. alt.graphics.pixutils which is specifically for discussion of image
  97. conversion and editing packages such as PBMPLUS.  Posting stuff there
  98. is even better than mailing it to me, since it lets other people help
  99. out with the answers.
  100.  
  101.  
  102. CONTENTS
  103.  
  104. Files in pbmplus.shar:
  105.  
  106.     README        this
  107.     CHANGES        list of changes between the various versions of PBM
  108.     TODO        list of things still to be done
  109.     FORMATS        list of the formats supported
  110.     OTHER.SYSTEMS    list of other free image-processing software
  111.     Makefile        guess
  112.     Imakefile        for X11-type installations
  113.     pbmplus.h        header file for PBM, PGM, PPM, and PNM
  114.  
  115.     compat.csh        csh script for compatibility with old versions
  116.     compat.ksh        ksh script for compatibility with old versions
  117.     magic        additions for /etc/magic to recognize some image formats
  118.     LIBTIFF.PATCH    patch file with a minor but necessary change for libtiff
  119.  
  120. Files in pbm.shar?:
  121.  
  122.     Makefile        guess
  123.     Imakefile        for X11-type installations
  124.  
  125.     brushtopbm.c    convert Xerox doodle brushes to portable bitmap
  126.     cmuwmtopbm.c    convert CMU window manager format to portable bitmap
  127.     g3topbm.c        convert Group 3 FAX to portable bitmap
  128.     icontopbm.c        convert Sun icon to portable bitmap
  129.     gemtopbm.c        convert GEM .img format to portable bitmap
  130.     macptopbm.c        convert MacPaint to portable bitmap
  131.     mgrtopbm.c        convert MGR format to portable bitmap
  132.     pi3topbm.c        convert Atari Degas .pi3 to portable bitmap
  133.     xbmtopbm.c        convert X10 or X11 bitmap to portable bitmap
  134.     ybmtopbm.c        convert Bennet Yee "face" file into portable bitmap
  135.  
  136.     pbmto10x.c        convert portable bitmap to Gemini 10x printer graphics
  137.     pbmtoascii.c    convert portable bitmap to ASCII graphic form
  138.     pbmtobbnbg.c    convert portable bitmap to BBN BitGraph graphics
  139.     pbmtocmuwm.c    convert portable bitmap to CMU window manager format
  140.     pbmtoepson.c    convert portable bitmap to Epson printer graphics
  141.     pbmtog3.c        convert portable bitmap to Group 3 FAX
  142.     pbmtogem.c        convert portable bitmap into GEM .img file
  143.     pbmtogo.c        convert portable bitmap to GraphOn graphics
  144.     pbmtoicon.c        convert portable bitmap to Sun icon
  145.     pbmtolj.c        convert portable bitmap to HP LaserJet graphics
  146.     pbmtomacp.c        convert portable bitmap to MacPaint
  147.     pbmtomgr.c        convert portable bitmap to MGR format
  148.     pbmtopi3.c        convert portable bitmap to Atari Degas .pi3
  149.     pbmtoplot.c        convert portable bitmap into Unix plot(5) file
  150.     pbmtoptx.c        convert portable bitmap to Printronix graphics
  151.     pbmtoxbm.c        convert portable bitmap to X11 bitmap
  152.     pbmtox10bm.c    convert portable bitmap to X10 bitmap
  153.     pbmtoybm.c        convert portable bitmap into Bennet Yee "face" file
  154.     pbmtozinc.c        convert portable bitmap to Zinc Interface Library icon
  155.  
  156.     pbmlife.c        apply Conway's rules of Life to a portable bitmap
  157.     pbmmake.c        create a blank bitmap of a specified size
  158.     pbmmask.c        create a mask bitmap from a regular bitmap
  159.     pbmpaste.c        paste a rectangle into a portable bitmap
  160.     pbmreduce.c        reduce a portable bitmap N times, using Floyd-Steinberg
  161.     pbmtext.c        render text into a bitmap
  162.     pbmupc.c        create a Universal Product Code bitmap
  163.  
  164.     libpbm[1-5].c    a few utility routines
  165.     pbmmerge.c        merge wrapper routine
  166.     pbm.h        header file for libpbm
  167.     pbmfont.h        header file for font routines in libpbm
  168.     libpbm.h        internal header file for libpbm
  169.     g3.h        definitions for Group 3 FAX
  170.     macp.h        definitions for MacPaint files
  171.     bitreverse.h    useful include file
  172.     *.1            manual entries for all of the tools
  173.     pbm.5        manual entry for the pbm format
  174.     libpbm.3        manual entry for the pbm library
  175.  
  176. Files in pgm.shar?:
  177.  
  178.     Makefile        guess
  179.     Imakefile        for X11-type installations
  180.  
  181.     fitstopgm.c        convert FITS format to portable graymap
  182.     fstopgm.c        convert Usenix FaceSaver(tm) format to portable graymap
  183.     hipstopgm.c        convert HIPS format to portable graymap
  184.     lispmtopgm.c    convert a Lisp Machine bitmap file into pgm format
  185.     psidtopgm.c        convert PostScript "image" data to portable graymap
  186.     rawtopgm.c        convert raw grayscale bytes to portable graymap
  187.  
  188.     pgmtofits.c        convert portable graymap to FITS format
  189.     pgmtofs.c        convert portable graymap to Usenix FaceSaver(tm) format
  190.     pgmtolispm.c    convert a portable graymap into Lisp Machine format
  191.     pgmtopbm.c        convert portable graymap to portable bitmap
  192.     pgmtops.c        convert portable graymap to Encapsulated PostScript
  193.  
  194.     pgmbentley.c    Bentleyize a portable graymap
  195.     pgmedge.c        edge-detect a portable graymap
  196.     pgmenhance.c    edge-enhance a portable graymap
  197.     pgmhist.c        print a histogram of the values in a portable graymap
  198.     pgmnorm.c        normalize contrast in a portable graymap
  199.     pgmoil.c        turn a portable graymap into an oil painting
  200.     pgmramp.c        generate a grayscale ramp
  201.  
  202.     libpgm[1-3].c    a few utility routines
  203.     pgmmerge.c        merge wrapper routine
  204.     pgm.h        header file for libpgm
  205.     libpgm.h        internal header file for libpgm
  206.     dithers.h        useful include file
  207.     *.1            manual entries for all of the tools
  208.     pgm.5        manual entry for the pgm format
  209.     libpgm.3        manual entry for the pgm library
  210.  
  211. Files in ppm.shar?:
  212.  
  213.     Makefile        guess
  214.     Imakefile        for X11-type installations
  215.  
  216.     giftoppm.c        convert GIF to portable pixmap
  217.     gouldtoppm.c    convert Gould scanner file to portable pixmap
  218.     ilbmtoppm.c        convert IFF ILBM to portable pixmap
  219.     imgtoppm.c        convert Img-whatnot to portable pixmap
  220.     mtvtoppm.c        convert MTV ray-tracer output to portable pixmap
  221.     pcxtoppm.c        convert PC Paintbrush format to portable pixmap
  222.     pgmtoppm.c        colorize a portable graymap into a portable pixmap
  223.     pi1toppm.c        convert Atari Degas .pi1 to portable pixmap
  224.     picttoppm.c        convert Macintosh PICT to portable pixmap
  225.     qrttoppm.c        convert QRT ray-tracer output to portable pixmap
  226.     rawtoppm.c        convert raw RGB bytes to portable pixmap
  227.     rgb3toppm.c        combine three portable graymaps into one portable pixmap
  228.     spctoppm.c        convert Atari compressed Spectrum to portable pixmap
  229.     sputoppm.c        convert Atari uncompressed Spectrum to portable pixmap
  230.     tgatoppm.c        convert TrueVision Targa file to portable pixmap
  231.     ximtoppm.c        convert Xim to portable pixmap
  232.     xpmtoppm.c        convert XPM format to portable pixmap
  233.  
  234.     ppmtogif.c        convert portable pixmap to GIF
  235.     ppmtoicr.c        convert portable pixmap to NCSA ICR graphics
  236.     ppmtoilbm.c        convert portable pixmap to IFF ILBM
  237.     ppmtopcx.c        convert portable pixmap to PC Paintbrush format
  238.     ppmtopgm.c        convert portable pixmap to portable graymap
  239.     ppmtopi1.c        convert portable pixmap to Atari Degas .pi1
  240.     ppmtopict.c        convert portable pixmap to Macintosh PICT
  241.     ppmtops.c        convert portable pixmap to color Encapsulated PostScript
  242.     ppmtopuzz.c        convert portable pixmap to X11 "puzzle" file
  243.     ppmtorgb3.c        separate a portable pixmap into three portable graymaps
  244.     ppmtouil.c        convert portable pixmap to Motif UIL icon file
  245.     ppmtoxpm.c        convert portable pixmap to XPM format
  246.  
  247.     ppmhist.c        print a histogram of a portable pixmap
  248.     ppmpat.c        create a pretty pixmap
  249.     ppmquant.c        quantize colors down to a specified number
  250.     ppmquantall        script to run ppmquant on a set of pixmaps
  251.     ppmrelief.c        run a Laplacian Relief filter on a portable pixmap
  252.  
  253.     libppm[1-5].c    a few utility routines
  254.     ppmmerge.c        merge wrapper routine
  255.     ppm.h        header file for libppm
  256.     ppmcmap.h        header file for colormap routines in libppm
  257.     ppmdraw.h        header file for simple drawing routines in libppm
  258.     libppm.h        internal header file for libppm
  259.     tga.h        definitions for TrueVision Targa files
  260.     xim.h        definitions for Xim files
  261.     *.1            manual entries for all of the tools
  262.     ppm.5        manual entry for the ppm format
  263.     libppm.3        manual entry for the ppm library
  264.  
  265. Files in pnm.shar?:
  266.  
  267.     Makefile        guess
  268.     Imakefile        for X11-type installations
  269.  
  270.     anytopnm        script to attempt to convert any format to P?M
  271.     rasttopnm.c        convert Sun raster file to portable anymap
  272.     tifftopnm.c        convert TIFF file to portable anymap
  273.     xwdtopnm.c        convert X10 or X11 window dump to portable anymap
  274.  
  275.     pnmtorast.c        convert portable anymap to Sun raster file
  276.     pnmtotiff.c        convert portable anymap to TIFF file
  277.     pnmtoxwd.c        convert portable anymap to X11 window dump
  278.  
  279.     pnmarith.c        perform arithmetic on two portable anymaps
  280.     pnmcat.c        concatenate portable anymaps
  281.     pnmconvol.c        general MxN convolution on a portable anymap
  282.     pnmcrop.c        crop all like-colored borders off a portable anymap
  283.     pnmcut.c        select a rectangular region from a portable anymap
  284.     pnmdepth.c        change the maxval in a portable anymap
  285.     pnmenlarge.c    enlarge a portable anymap N times
  286.     pnmfile.c        describe a portable anymap
  287.     pnmflip.c        perform one or more flip operations on a portable anymap
  288.     pnmgamma.c        perform gamma correction on a portable anymap
  289.     pnmindex        script to build a visual index of a bunch of anymaps
  290.     pnminvert.c        invert a portable anymap
  291.     pnmmargin        script to add a margin to a portable anymap
  292.     pnmnoraw.c        force a portable anymap into ASCII format
  293.     pnmpaste.c        paste a rectangle into a portable anymap
  294.     pnmrotate.c        rotate a portable anymap
  295.     pnmscale.c        scale a portable anymap
  296.     pnmshear.c        shear a portable anymap
  297.     pnmsmooth        script that uses pnmconvol to smooth a anymap
  298.     pnmtile.c        replicate a portable anymap into a specified size
  299.  
  300.     libpnm[1-4].c    a few utility routines
  301.     pnmmerge.c        merge wrapper routine
  302.     pnm.h        header file for libpnm
  303.     rast.h        definitions for Sun raster files
  304.     x10wd.h        definitions for X10 window dumps
  305.     x11wd.h        definitions for X11 window dumps
  306.     *.1            manual entries for all of the tools
  307.     pnm.5        manual entry for the pnm format
  308.     libpnm.3        manual entry for the pnm library
  309.