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

用 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 -->
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值