用 BREW? 绘制预定义位图的方法

类别:软件工程 点击:0 评论:0 推荐:
用 BREW™ 绘制预定义位图的方法 2003年9月12日  作者:高通  移动锋行   <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 -->

本文地址:http://com.8s8s.com/it/it32735.htm