home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / x / volume5 / xldimage / part01 / README < prev   
Encoding:
Text File  |  1989-11-13  |  3.7 KB  |  100 lines

  1. XLOADIMAGE - X11 Image Loading Utility
  2.  
  3. WHAT IS IT?
  4.  
  5. This utility will view several types of images under X11, or load
  6. images onto the root window.  The current version supports X11 Bitmap,
  7. Portable Bitmap, Faces Project, and Sun Rasterfile images.  More are
  8. planned.
  9.  
  10. A variety of options are available to modify images prior to viewing.
  11. These options include clipping, dithering, depth reduction, zoom
  12. (either X or Y axis independently or both at once),
  13. brightening/darkening, and image merging.  When applicable, these
  14. options are done automatically (eg a color image to be displayed on a
  15. monochrome screen will be dithered automatically).
  16.  
  17. IMPLEMENTATION
  18.  
  19. Most functions are not particularly fast, and some functions use
  20. simple-minded algorithms deliberately over more advanced ones.  I
  21. stressed portability over all and simplicity over performance.  I
  22. believe the result is a usable, portable tool which should serve the
  23. needs of most users.
  24.  
  25. The source code is basically in two parts: image manipulation routines
  26. and everything else.  The image manipulation routines should be
  27. completely independent of X, thus allowing people to use them under
  28. other graphical systems.  No guarantees here, but I tried.
  29.  
  30. Performance-oriented people will notice that when loading a color
  31. image, the colormap of the image is minimized (and all pixel values in
  32. the image changed), then the colormap is redone (and all pixel values
  33. in the image changed again) before sending to X.  This could be
  34. reduced to only one remapping of the image but I wanted to keep the
  35. image from X's grubby (greedy?) hands as long as possible, and the
  36. image merging function really wants the image to have a minimized
  37. colormap.
  38.  
  39. COMPILING
  40.  
  41. There are three ways to compile xloadimage, depending on what
  42. environment you have.
  43.  
  44. If you are compiling under the X11R4 distribution, the apropriate
  45. Imakefile is included and you should compile as with any other client.
  46. I haven't personally tested this, but if it's broken it'll be easy to
  47. fix.
  48.  
  49. If you have gcc on your system, compile via "make -f Makefile.gcc".
  50. Gcc should be used if it works because the strength-reduction and
  51. inline-functions directives dramatically improve performance of some
  52. operations.
  53.  
  54. Normal compilations can be done via "make -f Makefile.std".  This
  55. invokes the standard cc using the -O flag.
  56.  
  57. INSTALLATION
  58.  
  59. After compiling and installing xloadimage, I recommend linking or
  60. symlinking to the executable with the names "xview" and "xsetbg".  The
  61. default behavior is slightly different when invoked with these
  62. commands (they're also easier to type).
  63.  
  64. OWNERSHIP
  65.  
  66. I used the MIT X Consortium copyright with all of these functions,
  67. thereby allowing full freedom with the code so long as the copyright
  68. notices remain intact.  Free code can be good code.
  69.  
  70. SUGGESTIONS AND BUG REPORTS
  71.  
  72. Suggestions and bug reports should go to:
  73.  
  74.     Jim Frost
  75.     madd@std.com
  76.     ..uunet!world!madd
  77.  
  78. Please include the version number and sample image data if you are
  79. reporting a bug.
  80.  
  81. Functions implementing new image types are welcomed; mail them to the
  82. same address and I'll do my best to distribute them.
  83.  
  84. THANKS
  85.  
  86. Special thanks to the crew at the Boston University Graphics Lab for
  87. their assistance and sample images, and to bzs@std.com for his simple
  88. dithering algorithm (or what's left of it).
  89.  
  90. HISTORY
  91.  
  92. Patch 01 contained a new Makefile.std, Makefile.gcc, and Imakefile.
  93. It contained a bug-fix to sendImageToX() which allowed bitmaps to be
  94. sent from little-endian machines (eg VAX, 80386) correctly, and a fix
  95. to xbitmapLoad() to allow correct loading of X10 bitmap images.  An
  96. enhancement to imageInWindow() which allowed exiting from image
  97. windows by typing 'q' was submitted by Chris Tengi
  98. (tengi@idunno.princeton.edu) and was included.  The previously missing
  99. file 'patchlevel' was included.
  100.