ColorUtils.h
上传用户:kellyonhid
上传日期:2013-10-12
资源大小:932k
文件大小:1k
源码类别:

3D图形编程

开发平台:

Visual C++

  1. //############################################################
  2. // ColorUtils.h
  3. // Matt Ginzton / Kari Pulli
  4. // Mon Jun 22 13:39:49 PDT 1998
  5. // 
  6. // Utilities for dealing with colors
  7. //############################################################
  8. #ifndef _COLORUTILS_H_
  9. #define _COLORUTILS_H_
  10. #include "vector.h"
  11. #include "defines.h"
  12. class ColorSet
  13. {
  14. public:
  15.   ColorSet();
  16.   void chooseNewColor (uchar* color);
  17. private:
  18.   int currentColor;
  19. };
  20. // the rules on these overloaded functions:
  21. // 1) floats get multiplied by 255 to convert to uchar
  22. // 2) a pointer is taken to be a 3-array
  23. // 3) the 3-float version is taken to be 3 separate values, like the array
  24. void pushColor (vector<uchar>& colors, int colorsize, float value);
  25. void pushColor (vector<uchar>& colors, int colorsize, float* values);
  26. void pushColor (vector<uchar>& colors, int colorsize,
  27. float value1, float value2, float value3);
  28. void pushColor (vector<uchar>& colors, int colorsize, uchar value);
  29. void pushColor (vector<uchar>& colors, int colorsize, uchar* values);
  30. void pushColor (vector<uchar>& colors, int colorsize,
  31. uchar* values1, uchar* values2, uchar* values3);
  32. void pushConf (vector<uchar>& colors, int colorsize, float conf);
  33. void pushConf (vector<uchar>& colors, int colorsize, uchar conf);
  34. uchar
  35. intensityFromRGB (uchar* rgb);
  36. #endif