显示“BMP”图片和“ICON”图标

1:图片和图标的显示比较简单,目前不支持压缩和放大显示

2头文件是HglgPrit.h”,主要接口有如下所示

 

3保存图片

原型:BOOL far SaveBmpFile(int nX,int nY, int nWidth, int nHeight, char *pStr);

作用:将指定的屏幕区域内容存贮为256色的BMP文件。

      (1)用“Bmp\Bmp256.Pal”文件作为调色板。

      (2)在任何窗口按下F3,会在当前目录下生成“a.Bmp256BMP文件。

入口参数int nX 左上角X坐标

          int nY 左上角Y坐标

          int nWidth 区域宽度

          int nHeight 区域高度

          char* pStr BMP文件名

出口参数:无

返回值:成功为TRUE否则为FALSE

 

3:显示图片

原型BOOL DisplayBmpFile(int nX, int nY, char *pStrFile,

BOOL bPalette = FALSE, BOOL bBack = TRUE, int nBackColor = BLACK);

作用:显示BMP图片。

入口参数int nX – 图片的左上角X坐标

          int nY 图片的左上角Y坐标

          char* pStrFile BMP文件名

          BOOL bPalette TRUE修改调色板否则不修改严禁修改

          BOOL bBack 是否显示背景色。FALSE时背景色由nBackColor指定。

          int nBackColor -背景色颜色只要在bBack = FALSE才有意义。

出口参数

返回值:成功返回TRUE

 

3:显示图片

原型BOOL far DisplayBmpFile(int nX, int nY, CXmsMemory* pXmsMemory,

DWORD lgLocation = 0, BOOL bPalette=FALSE,

BOOL bBack = TRUE,int nBackColor = BLACK);

作用:显示BMP图片。

入口参数int nX – 图片的左上角X坐标

          int nY 图片的左上角Y坐标

          CXmsMemory* pXmsMemory – 扩展内存

          DWORD lgLocation - 图形文件在扩展内存的位置索引。

          BOOL bPalette TRUE修改调色板否则不修改严禁修改

          BOOL bBack 是否显示背景色。FALSE时背景色由nBackColor指定。

int nBackColor -背景色颜色只要在bBack = FALSE才有意义。

出口参数:无

返回值:成功返回TRUE

 

举例:现在需作动画3BMP文件组成分别为File_01.BmpFile_02.BmpFile_03.Bmp程序每隔1秒钟更换一次。

CXmsMemory mXmsMemroy;

mXmsMemroy.MallocXms (100L * 1024L);

DWORD dwsLocation[3] = {0, 0, 0};

 

DWORD dwLoc = 0, dwSize = 0;

 

//将第一个BMP图片装入到0

DwsLocation[0] = dwLoc

mXmsMemory.AddFile(“File_01.Bmp”, dwLoc, &dwSize);

dwLoc += dwSize;

 

//将第二个BMP图片装入到下一处

DwsLocation[1] = dwLoc

mXmsMemory.AddFile(File_02.Bmp, dwLoc, &dwSize);

dwLoc += dwSize;

 

//将第三个BMP图片装入到下一处

dwsLocation[2] = dwLoc

mXmsMemory.AddFile(File_03.Bmp, dwLoc, &dwSize);

dwLoc += dwSize;

 

      int nPage = 0;

while (1)

{

    ::DisplayBmpFile(0, 0, &mXmsMemory, dwsLocation[nPage++]) ;

if (nPaqe >= 3)

{

    nPage = 0;

}

::KernelDelay(1000);//1秒钟,

}

 

mXmsMemory.FreeXms();

 

4:显示图标

原型:CRect DisplayIcon(int nX, int nY, char* pStrFile,

int nPage, BOOL bDisplay, BOOL bPalette);

作用:显示ICON图标。

入口参数int nX – 图标的左上角X坐标

          int nY 图标的左下角Y坐标

          char* pStrFile ICON文件名

          int nPage 帧索引ICON里面可以有许多帧图片

          BOOL bDisplay 显示控制。FALSE表不显示出来。

          BOOL bPalette TRUE修改调色板否则不修改, 严禁修改。

出口参数:无

返回值:成功返回矩形值。

矩形的CRect::nRight纪录了第Page帧图标的宽度。

矩形的CRect::nBottom纪录了第Page帧图标的高度。