LoadTGA.h
上传用户:owen_mei
上传日期:2022-08-09
资源大小:2263k
文件大小:1k
源码类别:

OpenGL

开发平台:

Visual C++

  1. // LoadTGA.h: interface for the CLoadTGA class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_LOADTGA_H__DF6DBB46_E79E_47C9_BC4F_3F4A3C686064__INCLUDED_)
  5. #define AFX_LOADTGA_H__DF6DBB46_E79E_47C9_BC4F_3F4A3C686064__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #define RGB16(r,g,b)   ( ((r>>3) << 10) + ((g>>3) << 5) + (b >> 3) )
  10. #define RGB24(r,g,b)   ( ((r) << 16) + ((g) << 8) + (b) )
  11. #define GET16R(v)   (v >> 10)
  12. #define GET16G(v)   ((v >> 5) & 0x1f)
  13. #define GET16B(v)   (v & 0x1f)
  14. //  TGA文件的文件头结构
  15. typedef struct
  16. {
  17.    unsigned char  d_iif_size;            // 通常为0
  18.    unsigned char  d_cmap_type;           // 忽略
  19.    unsigned char  d_image_type;          // 应为2
  20.    unsigned char  pad[5];
  21.    unsigned short d_x_origin;
  22.    unsigned short d_y_origin;
  23.    unsigned short d_width;
  24.    unsigned short d_height;
  25.    unsigned char  d_pixel_size;          // 像素的颜色位16、24或32
  26.    unsigned char  d_image_descriptor;    // 位3-0: alpha通道的大小
  27.                                          // 位4: 保留(为0)
  28.                                          // 位5: 为0
  29.                                          // 位6-7: 为0
  30. } tTGAHeader_s;
  31. class CLoadTGA  
  32. {
  33. public:
  34. CLoadTGA();
  35. virtual ~CLoadTGA();
  36. unsigned char *LoadTGAFile( char* strFilename,tTGAHeader_s *header);
  37. };
  38. #endif // !defined(AFX_LOADTGA_H__DF6DBB46_E79E_47C9_BC4F_3F4A3C686064__INCLUDED_)