⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 imagelist.h

📁 diablo图形引擎例子
💻 H
字号:
// ImageList.h: interface for the ImageList class.
//
//////////////////////////////////////////////////////////////////////

#include <windows.h>
#include <windowsx.h>
//#include "DirectDraw.h"


#if !defined(AFX_IMAGELIST_H__6197BA22_75AA_11D3_AC0B_0000E8CED079__INCLUDED_)
#define AFX_IMAGELIST_H__6197BA22_75AA_11D3_AC0B_0000E8CED079__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


typedef struct tagCGL_FILE_HEADER
{
	char  Sign[16];//ImagePackFile
	DWORD dwTotalFiles;
	DWORD dwDataSize;
	DWORD dwInfoTableOffset;
	DWORD dwLengthTableOffset;
	DWORD dwDataOffset;
	//InfoTable[TotalFiles] 
	//   DWORD dwOffset 
	//LengthTable[TotalFiles]
	//   DWORD dwLength
	//packedfiles data
	//   WORD dwWidth
	//   WORD dwWeight
	//   WORD  data byte;

}CGL_FILE_HEADER;

const WORD BitEndOfImageMask	 =0x0000;	// 图像结束(图像底部多行空白一起略过)
const WORD BitEndOfLineMask	     =0x1000;	// 行结束
const WORD BitDataMask		     =0x0FFF;	// 长度掩码(最多连续4095点)
const WORD BitTransparentMask	 =0x2000;	// 透明点
const WORD BitPixelMask		     =0x4000;	// 像素点
const WORD BitWhiteLineMask	     =0x8000;	// 空白行(通常在图像顶部有多行空白)

#define MASK_MODE_555_SHR1 0x3def // 01111 01111 01111b;
#define MASK_MODE_555_SHR2 0x1ce7 // 00111 00111 00111b;
#define MASK_MODE_555_SHR3 0xc63  // 00011 00011 00011b

#define MASK_MODE_565_SHR1 0x7bcf // 01111 011110 01111b;
#define MASK_MODE_565_SHR2 0x39c7 // 00111 001110 00111b;
#define MASK_MODE_565_SHR3 0x18c3 // 00011 000110 00011b;

	
class ImageList  
{
public:
	int GetHeight(int index);
	void DrawCenter(int index, int x, int y, WORD *lpBitmap,long lPitch);
	void DrawAlpha750(int index, int x, int y, WORD *lpBitmap, long lPitch);
	void DrawAlpha500(int index, int x, int y, WORD *lpBitmap, long lPitch);
	void DrawAlpha125(int index, int x, int y, WORD *lpBitmap, long lPitch);
	void DrawAlpha875(int index, int x, int y, WORD *lpBitmap, long lPitch);
	void DrawAlpha250(int index, int x, int y, WORD	*lpBitmap,long lPitch);
	void Draw(int index, int x, int y, WORD *lpBitmap,long lPitch);
	WORD m_dwAlphaMask_SHR1;
	WORD m_dwAlphaMask_SHR2;
	WORD m_dwAlphaMask_SHR3;

	
	void  ConvertColorMode();
	void  SetLight(int light);
	int   m_iTotalFrame;

	WORD  * m_lpDataBuffer;
	DWORD * m_lpOffsetTable;
	
	bool Create(char *lpszFilename,bool bColorMode,int light);
	ImageList();
	virtual ~ImageList();

};

#endif // !defined(AFX_IMAGELIST_H__6197BA22_75AA_11D3_AC0B_0000E8CED079__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -