关于大位图显示的问题

qiling1979 2003-08-23 02:20:53
我的程序是在win2000 窗口模式下(1600*1200)(不是全屏方式)我有一个很大的bitmap6000*6000*16色 我要把他显示在我的窗口,如果用windows gdi 缩放的话
太慢了 则么才能显示快一点呢?
...全文
55 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiling1979 2003-09-22
  • 打赏
  • 举报
回复
哦 thank
寻开心 2003-09-02
  • 打赏
  • 举报
回复
就是这里的啊
http://www.gameres.com/Articles/Visual/Other/BmptoVC.htm
qiling1979 2003-09-02
  • 打赏
  • 举报
回复
具体是啥方法?
寻开心 2003-08-30
  • 打赏
  • 举报
回复
试过使用显示视频方式的办法了吗?那个应该快的。
qiling1979 2003-08-29
  • 打赏
  • 举报
回复
idle
寻开心 2003-08-28
  • 打赏
  • 举报
回复
那也是18M啊。

估计传输的速度比你显示的还要慢呐。

显示窗口大小是否时刻在变化呐?
如果不是,你可以自己判断位图变化的范围,只更新变化的局部内容,不去每次都缩放整个图片。
寻开心 2003-08-27
  • 打赏
  • 举报
回复
疯啦。
网络传输那么大的位图,能承受吗????
6000×6000×16位(2字节)=72MB太大了吧。
qiling1979 2003-08-27
  • 打赏
  • 举报
回复
是16色4位 压缩过的数据
qiling1979 2003-08-26
  • 打赏
  • 举报
回复
位图数据是一直在变 是网络送来的

寻开心 2003-08-26
  • 打赏
  • 举报
回复
http://www.gameres.com/Articles/Visual/Other/BmptoVC.htm
这里面的用视频方式显示位图的办法也是一个好思路,可以参考。
寻开心 2003-08-25
  • 打赏
  • 举报
回复
所谓的实时不是要求你每次都要从最原始的图片变化下来啊。
你完全可以仿照MIPMAP的原理或者是LOD的方法,先把图片做好几个1/2 1/4 1/8 1/16这样大小的图片保存起来,而外增加的存储量加起来也不到原来的1/2倍。
(每个方向缩小1/2图片占据空间大小是原来的1/4, 所以总和是小于1/2)
拉伸的时候,从最接近目标比例的图片开始入手操作。例如要压缩到原来的1/3,你可以从1/2的图片开始压缩。速度快的多。
DarthVader 2003-08-24
  • 打赏
  • 举报
回复
寻开心说得对啊,
缩放并不需要实时的作。
使用GDI的StretchBlt先将大位图缩放到一个Surface上,只需要作一次。
之后直接Blt那个surface就可以了,想必不会慢到哪里去;

如果要使用的surface仍旧比窗口大,根据窗口相对于位图表面的位置,
设置一下裁剪矩形就可以了,每次Blt的尺寸还是窗口大小,应该也不会慢;

如果真的要实时进行任意的无级缩放,觉得GDI太慢,就自己写个缩放函数吧
(记得当时有两个同学搞Palm OS上的缩放,最后没办法,准备了同一图片的
不同分辨率版本,也算是过关了 :P )
qiling1979 2003-08-24
  • 打赏
  • 举报
回复
因为这张图是时时在变的 需要实时缩小
寻开心 2003-08-23
  • 打赏
  • 举报
回复
非要实时的做吗?
为什么不先用其他软件把它缩小,然后直接使用呐。你可以先生成几个半大的图片。

一般保留大图片是为了可以放大地看,或者是拖动着看。

8,301

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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