操作系统  办公  实用知识  设计  开发  WEB开发  移动开发  数据库  软件工程  网管  安全  管理  信息化  答疑  渠道 

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

2006-10-9 网友评论 0 条 点击进入论坛

<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 -->

已有 0 位对此文章感兴趣的网友发布了看法    
我来评两句 登录邮箱: 密码:
  匿名发表
今日推荐
技术文库(共有 46473 篇文章)
操作系统
办公软件
实用知识
网络管理
软件开发
WEB开发
软件工程
数据库
设计在线
信息安全
行业信息化
管理信息化
重点推荐
电子杂志订阅
点击电子杂志名称查看样刊
输入E-mail地址即可订阅
E-mail