www.pudn.com > Billiard.rar > LoadTGA.h


// LoadTGA.h: interface for the CLoadTGA class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_LOADTGA_H__DF6DBB46_E79E_47C9_BC4F_3F4A3C686064__INCLUDED_) 
#define AFX_LOADTGA_H__DF6DBB46_E79E_47C9_BC4F_3F4A3C686064__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
 
#define RGB16(r,g,b)   ( ((r>>3) << 10) + ((g>>3) << 5) + (b >> 3) ) 
#define RGB24(r,g,b)   ( ((r) << 16) + ((g) << 8) + (b) ) 
#define GET16R(v)   (v >> 10) 
#define GET16G(v)   ((v >> 5) & 0x1f) 
#define GET16B(v)   (v & 0x1f) 
//  TGA文件的文件头结构 
typedef struct 
{ 
   unsigned char  d_iif_size;            // 通常为0 
   unsigned char  d_cmap_type;           // 忽略 
   unsigned char  d_image_type;          // 应为2 
   unsigned char  pad[5]; 
 
   unsigned short d_x_origin; 
   unsigned short d_y_origin; 
   unsigned short d_width; 
   unsigned short d_height; 
 
   unsigned char  d_pixel_size;          // 像素的颜色位16、24或32 
   unsigned char  d_image_descriptor;    // 位3-0: alpha通道的大小 
                                         // 位4: 保留(为0) 
                                         // 位5: 为0 
                                         // 位6-7: 为0 
} tTGAHeader_s; 
 
class CLoadTGA   
{ 
public: 
	CLoadTGA(); 
	virtual ~CLoadTGA(); 
 
	unsigned char *LoadTGAFile( char* strFilename,tTGAHeader_s *header); 
 
}; 
 
#endif // !defined(AFX_LOADTGA_H__DF6DBB46_E79E_47C9_BC4F_3F4A3C686064__INCLUDED_)