| | | | | |
<STRONG>用 BREW™ 绘制预定义位图的方法</STRONG> <!-- Main Text Area --><BR><B>文档 ID:48</B> <P>通过使用 ISHELL 接口 ISHELL_LoadResImage(用于资源)或 ISHELL_LoadImage(用于文件),后跟 IIMAGE_Draw,很容易从文件或资源中加载和绘制图像。本文演示了使用 ISHELL 和 IIMAGE 接口加载和显示位图所需的基本步骤。 </P> <P>从资源中显示图像的步骤: </P> <OL> <LI>创建位图 <LI>将其添加到资源编辑器中 <LI>在资源编辑器中编译 .bar 和 .h 文件 <LI>将 .h 文件添加到您的项目中 <LI>使用 ISHELL_LoadResImage 加载图像 <LI>使用 IIMAGE_Draw() 显示图像 <LI>使用 IDISPLAY_Update() 更新屏幕 </LI></OL> <P>代码示例: </P><PRE> #define MY_RES_FILE "Myres.bar"
// 从资源中加载和显示位图 int MyDisplayResImage() { IImage *pImage = NULL; AEEDeviceInfo dm;
// 获取设备信息,以查看颜色深度 ISHELL_GetDeviceInfo(pShell, &dm);
// 如果颜色深度大于 4,则加载彩色位图 if( dm.nColorDepth > 4) { // 从资源中加载图像 pImage = ISHELL_LoadResImage(pShell, MY_RES_FILE, IDB_MY_COLOR_BITMAP); } else { // 从资源中加载图像 pImage = ISHELL_LoadResImage(pShell, MY_RES_FILE, IDB_MY_BW_BITMAP); } if( !pImage ) return EFAILED; // 加载失败
// 在坐标 (0,0) 处绘制图像 IIMAGE_Draw(pIImage, 0, 0);
// 更新屏幕 IDISPLAY_Update(pDisplay);
// 释放 IIMAGE 对象 IIMAGE_Release( pImage ); return SUCCESS; } </PRE> <P>从文件中显示图像的步骤: </P> <OL> <LI>使用 ISHELL_LoadImage 从文件中加载图像 <LI>使用 IIMAGE_Draw() 显示图像 <LI>使用 IDISPLAY_Update() 更新屏幕 </LI></OL> <P>代码示例: </P><PRE> // 从文件中加载和显示图像 int MyDisplayFileImage() { IImage *pImage = NULL; AECHAR* pImageFile = NULL; AEEDeviceInfo dm; AECHAR szColorBmp[] = {'c','o','l','o','r','.','b','m','p'}; AECHAR szBWBmp[] = {'m','o','n','o','.','b','m','p'};
// 获取设置信息,以查看颜色深度 ISHELL_GetDeviceInfo(pShell, &dm);
// 如果颜色深度大于 4,则加载彩色位图 if( dm.nColorDepth > 4) pImageFile = szColorBmp; else pImageFile = szBWBmp; pImage = ISHELL_LoadImage(pShell, pImageFile); if( !pImage ) return EFAILED; // 加载失败
// 在坐标 (0,0) 处绘制位图 IIMAGE_Draw(pIImage, 0, 0);
// 更新屏幕 IDISPLAY_Update(pDisplay);
// 释放 IIMAGE 对象 IIMAGE_Release( pImage ); return SUCCESS; } /END </PRE><!-- Response Form --> |
|
|