📄 imagex.h
字号:
// Icer Game Engine v1.0
// Http://www.ngame2000.com
//
//Author:杨冰(源代码之光)
// E-mail: iceryeah2000@163.com
// QQ : 7746642
//
//Module:图片类
//
//Create:2003-2-6
//Updata:2003-4-20
//
//Describe:提供游戏中的所有图片接口函数
//Remark: 2003-2-6:Starting works
// 2003-2-16:Completing static picture function
// 2003-2-26:Added Alpha draw function
// 2003-3-5:fixed some bugs,release v1.0 alpha
// 2003-4-20:Completed SetPixel and GetPixel functions that uses asm.These are
// my first asm codes.
#pragma once
#define DRAW_ALPHA_SPEED 10 // 快速Alpha混合
#define DRAW_ALPHA_QUALITY 11 // 高质量Alpha混合(可指定alpha值)
#define DRAW_ALPHA_ADD 12 // 饱和叠加Alpha
#define DRAW_ALPHA_CHANNELS 13 // 饱和衰减Alpha
//自定义矩形结构(比直接用RECT方便)
struct stRectX
{
DWORD dwX; //顶点坐标x
DWORD dwY; //顶点坐标y
DWORD dwWidth; //宽
DWORD dwHeight; //高
};
class CImageX
{
public:
CImageX(void);
CImageX(char* file); //通过构造直接读入图片数据
~CImageX(void);
bool LoadImage(char* file); //调入自定义图片到内存
void Free(void); //释放内存(在构析中自动调用)
void Draw(long x, long y,bool isTrans = false); //无alpha,带透明选项绘制
void DrawAlpha(long x, long y, bool isTrans,DWORD dwType = DRAW_ALPHA_SPEED,DWORD dwValue = 0); //带Alpha,带透明选项,带alpha类型绘制
public:
void SetRect(RECT* rect); //设定源矩形
stRectX* GetRect(void) {return &m_SrcRect;} //返回源矩形
DWORD GetWidth(void) {return m_dwWidth;} //返回图形宽
DWORD GetHeight(void) {return m_dwHeight;} //返回图形高
void SetPixel(DWORD x, DWORD y, DWORD pixel); //设置某点坐标
DWORD GetPixel(DWORD x, DWORD y); //获得某点坐标
void SetCurrentFrame(DWORD frame); //设定当前帧
DWORD GetCurrentFrame(void) {return m_dwCurrentFrame;} //获得当前帧
DWORD GetMaxFrame(void) {return m_dwMaxFrame;} //获得最大帧数
DWORD* GetImageBuffer(void) {return m_pImageBuffer;} //获得图片缓冲
DWORD GetImagePitch(void) {return m_dwImagePitch;} //获得图片pitch
private:
DWORD* m_pImageBuffer; //图片缓冲
BYTE* m_pAlphaBuffer; //Alpha缓冲
DWORD m_dwImagePitch;
DWORD m_dwType; //图片类型
DWORD m_dwWidth; //图片宽
DWORD m_dwHeight; //图片高
DWORD m_dwColorKey; //关键色
DWORD m_dwFrameWidth; //帧宽
DWORD m_dwFrameHeight; //帧高
DWORD m_dwCurrentFrame; //当前帧
DWORD m_dwMaxFrame; //包含的总帧数
stRectX m_SrcRect; //设置draw类函数的源矩形,缺省为帧大小
stRectX m_ClipperRect; //裁减矩形
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -