解决方案 »

  1.   

    不知道啥情况,bitmap会过大 是是说内存太大呢,还是说显示太大?
    长长的一大段,我还是没能明白楼主到底遇到了什么问题?
      

  2.   

    抱歉,可能没有表达清楚,因为对于硬件加速等因素,bitmap会无法显示,显示bitmap too large to upload信息,我是要做一个能够在地图上画路线的程序,所以就要用BitmapRegionDecoder来分块,但是分块的话,对于画路线就无法画了,因为每个bitmap都在不同的imageview里面,所以也就是没有一个整体的坐标系去画路线了
      

  3.   


    原来如此,一句话表示问题原因:bitmap太大,load失败。
    个人觉得 bitmap 并不需要完全加载,屏幕有多大,你就加载要显示的区域到一个ImageView就行了,剩余超出屏幕的部分反正看不到。另外显示是显示,数据是数据,这个要区分。 至于不是一个整体的坐标系,解决办法:
    当前显示区域相对于完整地图 left top(x,y),手点击在ImageView上相对于ImageView的left top值, 这两个加一下就映射回 完整地图了。
      

  4.   


    原来如此,一句话表示问题原因:bitmap太大,load失败。
    个人觉得 bitmap 并不需要完全加载,屏幕有多大,你就加载要显示的区域到一个ImageView就行了,剩余超出屏幕的部分反正看不到。另外显示是显示,数据是数据,这个要区分。 至于不是一个整体的坐标系,解决办法:
    当前显示区域相对于完整地图 left top(x,y),手点击在ImageView上相对于ImageView的left top值, 这两个加一下就映射回 完整地图了。首先谢谢你的回答,坐标系的您回答的非常好,只是第一个问题,因为地图是要在一个滚动视图里面,是要去缩放的,如果缩放到最完整地图的状态,首先还是会遇到bitmap的过大问题,这个可以限制他的缩放级别来解决,但是加载到一个固定imageview里面,把imageview放在scrollview里面滑动的时候,就很难控制imageview需要显示的是哪一部分的图片了,这就有些河南解决了
      

  5.   


    原来如此,一句话表示问题原因:bitmap太大,load失败。
    个人觉得 bitmap 并不需要完全加载,屏幕有多大,你就加载要显示的区域到一个ImageView就行了,剩余超出屏幕的部分反正看不到。另外显示是显示,数据是数据,这个要区分。 至于不是一个整体的坐标系,解决办法:
    当前显示区域相对于完整地图 left top(x,y),手点击在ImageView上相对于ImageView的left top值, 这两个加一下就映射回 完整地图了。首先谢谢你的回答,坐标系的您回答的非常好,只是第一个问题,因为地图是要在一个滚动视图里面,是要去缩放的,如果缩放到最完整地图的状态,首先还是会遇到bitmap的过大问题,这个可以限制他的缩放级别来解决,但是加载到一个固定imageview里面,把imageview放在scrollview里面滑动的时候,就很难控制imageview需要显示的是哪一部分的图片了,这就有些河南解决了我觉得是这样的,滚动并不需要真的把imageView给放scrollView里滚动,仅仅只是要显示的地图 偏移 而已。
    缩放也是如此,实际显示的UI 所需要的Bitmap 无论是滚动或者缩放都是固定的大小的,因为能显示的区域就这么大。比如完整地图 1280X1280,实际显示需要640X480,当前显示偏移 x,y,相当于在1280x1280的大图上以x,y为顶点扣一块640x480的图拿来显示。
    滚动时,只更改x和y的值,然后重新扣图给UI显示。 缩放时也是同样的道理。
    当然这个要在imageView里实现 fliping和scroll。要是想取巧的话可以这么干:
    在布局上搞点花样,scrollView配合gridView,实现能左右上下滚动的布局,然后按gridView分块,这样就能动态分块加载大图。这样滚动fliping之类的全都能解决,唯一要考虑的就是缩放时的动作和bitmap的回收。当然这个的限制比较大,只能做到一些基本的,比较粗糙的效果。
      

  6.   

    这个问题,你可以查看一下,anroid可以先获取图片的大小,不加在.然后在加载之前对图片进行大家的缩放
      

  7.   

    imageloader第三方插件解决你的问题