home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / windows / x / 18939 < prev    next >
Encoding:
Text File  |  1992-11-09  |  2.1 KB  |  47 lines

  1. Newsgroups: comp.windows.x
  2. Path: sparky!uunet!utcsri!newsflash.concordia.ca!sifon!thunder.mcrcim.mcgill.edu!mouse
  3. From: mouse@thunder.mcrcim.mcgill.edu (der Mouse)
  4. Subject: Re: Color in XImage?
  5. Message-ID: <1992Nov10.062411.5487@thunder.mcrcim.mcgill.edu>
  6. Organization: McGill Research Centre for Intelligent Machines
  7. References: <1992Nov8.080422.12600@ringer.cs.utsa.edu>
  8. Date: Tue, 10 Nov 92 06:24:11 GMT
  9. Lines: 37
  10.  
  11. In article <1992Nov8.080422.12600@ringer.cs.utsa.edu>, rhanuman@ringer.cs.utsa.edu (Raghu Hanumanthaiah) writes:
  12.  
  13. > I have an array of pixels and each pixel has 3 8-bit components (red,
  14. > green, blue) which define the color of the pixel.  How do I pass this
  15. > information to the XImage structure so as to may it recognize the
  16. > proper RGB values and render them appropriately?
  17.  
  18. You may not be able to, not directly.  The pixel values in an XImage
  19. are pixel values - which sounds tautological, but when you notice that
  20. (except for the relatively rare TrueColor and to some extent
  21. DirectColor visual types), pixel values are not simple RGB triples, it
  22. indicates your problem.
  23.  
  24. If you have a TrueColor visual available, constructing pixel values
  25. from your RGB values will be fairly easy; you just need to shift and
  26. mask each primary and assemble the pixel value.  For DirectColor, the
  27. same is true, but you also need to make sure that your colormap has
  28. appropriate ramps loaded into it.
  29.  
  30. The next easiest visual type is probably StaticColor; for this, you can
  31. either call XAllocColor for each distinct color in the picture to get
  32. the pixel values (which will be very time-consuming unless the picture
  33. is either small or has large areas of constant color) or you can use
  34. XQueryColors to read back the colormap and pick the colors yourself
  35. (depending on the picture and the desired effect, dithering may help).
  36.  
  37. PseudoColor is just like StaticColor except that you have to choose the
  38. colors.  There are various algorithms around to do this; see ppmquant
  39. for an example.
  40.  
  41. GrayScale and StaticGray are just like PseudoColor and StaticColor
  42. except that only shades of gray are available.
  43.  
  44.                     der Mouse
  45.  
  46.                 mouse@larry.mcrcim.mcgill.edu
  47.