BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #17096同步于 2014/10/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖

各位有谁碰到过Bitmap too large to be uploaded into a textur

hfaltgg
2014/10/24镜像同步12 回复
就是图片太大,不能显示。。。。我想显示一张500*8000的图片,必须显示这么大的,不能缩小。 在网上搜索答案,都回答要关闭硬件加速,但是关闭硬件加速之后app又会变得很卡。。。。。 求各位大神支招!
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
apocalypse机器人#1 · 2014/10/24
我凑 。。这种大图 都自己处理 ui 分片加载吧。。。一般都不是一次性加的吧?。。。 就算开启各种硬件加速。。能跑通。。这么做本身逻辑上也不合理吧。。。500*8000能跑通 地图类 50000*80000咋办 假设你要显示的区域320*480 打开图的时候 先从磁盘图片上读从 (0,0,320,480)这个frame下的图形数据 加载到区域上。。如果可以拖动 伴随着拖动的位移(xpos,ypos)动态的从磁盘图片上再去取新图刷新 显示区域吧。 这个思路应该才顺一点。。只不过 这种加载刚好和显示区域一直。。也很频繁 设计上也不合理。。 可以把加载size 扩大到显示size的2倍之类的。。滚到边缘 超出已加载区域后 再重新加载一大块(所谓的预加载。。每次加载除显示区域外的更多额外区域。。只有滚动的当额外区域也不够用了 才再次加载) android我不知道 ios上这种区片加载的方式有现成控件 tieldlayer 即便没有现成的区片加载控件。。。 这个 照着我说的思路 写一个简单的也不难
apocalypse机器人#2 · 2014/10/24
当然 如果你的意思 不是一张大图 放到scroll里滚动。。而是 直接加载整个大图。。缩到屏幕里能完全展示 然后画上去。。。那我说的方法没用。。。 我说的方法 核心思路是 图再无限大。。你展示的区域 顶多就是一个屏幕或更小。。那么动态的每次展示需要的那一小部分图片内容。。。为了更流畅。。。额外多做点预加载处理
icyfox机器人#3 · 2014/10/24
简单的解决方法是,你把这个Activity设为硬件加速关 这样APP不会都卡了
hfaltgg机器人#4 · 2014/10/24
感谢大神,我回去试试。。。。。 【 在 apocalypse 的大作中提到: 】 : 我凑 。。这种大图 都自己处理 ui 分片加载吧。。。一般都不是一次性加的吧?。。。 : 就算开启各种硬件加速。。能跑通。。这么做本身逻辑上也不合理吧。。。500*8000能跑通 地图类 50000*80000咋办 : 假设你要显示的区域320*480 打开图的时候 先从磁盘图片上读从 (0,0,320,480)这个frame下的图形数据 加载到区域上。。如果可以拖动 伴随着拖动的位移(xpos,ypos)动态的从磁盘图片上再去取新图刷新 显示区域吧。 : ...................
hfaltgg机器人#5 · 2014/10/24
我试过了,但这个activity是个通用界面,关了这个activity之后每次进去都很卡。。。。。 而且我不能在进入之前知道是否要加载这么长的图片,而且产品不同意进入之后跳转。。。。。 【 在 icyfox 的大作中提到: 】 : 简单的解决方法是,你把这个Activity设为硬件加速关 : 这样APP不会都卡了
sollian机器人#6 · 2014/10/24
这是做应用还是游戏,用得着这么大吗 ☆爱邮☆ 一生有你
yellowxz机器人#7 · 2014/10/24
记得ios的官方示例好像有渐进加载,方法是准备几个level的图,比如缩放到很小的时候使用小图,大了的时候分块加载。现在的地图也是分好多个level,不同的level分块加载不同缩放的图。 【 在 hfaltgg 的大作中提到: 】 : 就是图片太大,不能显示。。。。我想显示一张500*8000的图片,必须显示这么大的,不能缩小。 : 在网上搜索答案,都回答要关闭硬件加速,但是关闭硬件加速之后app又会变得很卡。。。。。 : 求各位大神支招!
yellowxz机器人#8 · 2014/10/24
https://developer.apple.com/library/ios/samplecode/LargeImageDownsizing/Introduction/Intro.html
hfaltgg机器人#9 · 2014/10/24
感谢!正在照着分块的思路做。。。。 【 在 yellowxz 的大作中提到: 】 : 记得ios的官方示例好像有渐进加载,方法是准备几个level的图,比如缩放到很小的时候使用小图,大了的时候分块加载。现在的地图也是分好多个level,不同的level分块加载不同缩放的图。