怎么用BREW中的双BUFFER来显示图片?

tx040316 2009-04-25 12:08:54
我想问一下怎么在BREW中刷新屏幕的之前是不是一定要用IDISPLAY——ClearScreen()来清屏后再画图啊?我感觉这样会很慢啊,能不能用双BUFFFER来刷新呢?接口是怎么样的?怎么用?还有就是假如我想用一个X*X大小的小图,X是随意大小的正整数,来拼成一个大的背景,应该怎么做啊?这个X是不是有限制啊?答得好会大加分!!!!
...全文
218 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
controstr 2009-08-17
  • 打赏
  • 举报
回复
在整个手机里只有一个IDISPLAY其它你在创建的时候其实只是增加了一个引用计数而已
tx040316 2009-04-28
  • 打赏
  • 举报
回复
我一般的做法都是先把要画的图全画好再UPDATA一次。其实这也是一个提高效率的不错方法。
Q-Luo 2009-04-27
  • 打赏
  • 举报
回复
IIMAGE_SetStream
tx040316 2009-04-27
  • 打赏
  • 举报
回复
我现在用的方法是这样的:就是每次进入游戏的时候就先用IDISPLAY_Clear()清屏,再所有的东西都重新再画一次,我感觉这样的效率不高,如果我不清屏的话,前一次画的Sprite会一直存在,这样的效果又不行,能不能不会每次都清屏再画啊?就是我想Updata哪个Sprite再画哪个Sprite?还有个问题啊,我现在用一个工具来自动生成地图信息,然后想直接把这个文件读进来,根据这个文件来画背景,应该怎么做啊?
zsf81 2009-04-27
  • 打赏
  • 举报
回复
现在的芯片已经很快了吧,不用太在意那点东西,你可以把图都堆在一起但不要去UPDATE
最后再去更新不费多少时间的
tx040316 2009-04-27
  • 打赏
  • 举报
回复
我的意思不是说CLEAR函数慢,我的意思是这样的方法的效率不是高,例如你的背景就是那一张,根本就不用每一次刷屏都重新画,虽然它重画一次的速度是很快,但还是要时间去画啊,如果我只是画一些需要画的东西的话,效率是不是高一点呢?
zsf81 2009-04-27
  • 打赏
  • 举报
回复
CLEAR会慢??
自己设计有问题,不用去搞那么复杂,最多支持三层,再多我认为没有必要。
发现心流 2009-04-26
  • 打赏
  • 举报
回复
lz可以循环贴图啊

for循环就可以了啊
tx040316 2009-04-25
  • 打赏
  • 举报
回复
是不是这样啊:我定义一个IDisplay的指针,然后用ISHELL_CreateInstance();再创建一个Display2,然后在要画图的时候,先画在Display2上,再放到默认的Display1中。但在这两个Display 中交换数据的接口用什么好啊?还有就是用小图拼大背景的时候,我用的接口是IDISPLAY_BitBlt接口,但是报错啊,我也试过用IBITMAP_Bltin接口也不行啊?用什么接口好啊?
hhygcy 2009-04-25
  • 打赏
  • 举报
回复
你有默认的display(display1),你可以再创建一个display(display2),然后所有的画都基于这个display2上,等需要显示的时候把这个display2的东西整体贴到目标的display1上. 其实和compatibleDC贴到hdc上差不多.
类似的你的 X*X 就是在display2上面画多个图,然后把拼好的图整体黏贴
hhygcy 2009-04-25
  • 打赏
  • 举报
回复
可以先IDISPLAY_GetDeviceBitmap拿到Ibitmap, 然后用IBITMAP_CreateCompatibleBitmap创建一个新的bitmap(ibitmap2)作为你想 拼装的bitmap. 然后可以load你小的图形,把小的图像用IBItmap_BltIn画到大的ibitmap2里面去,怎么画 怎么排布随便你参数设置.这样肯定可以了
  • 打赏
  • 举报
回复
IDisplay_Clone()来生成第二个显示对象,然后用这两个显示对象交互画屏即可

774

社区成员

发帖
与我相关
我的任务
社区描述
为移动开发者提供丰富的解决方案、全面的技术下载。本版以游戏、多媒体、高效能等三个技术为核心,为开发者营造一个轻松、高效的学习交流平台。
社区管理员
  • Qualcomm开发
  • 霍大神
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧