问题如下:
有多张格式一样的图片,具体数目不可以确定
要拼接成一个图,怎么处理?????帮帮忙  谢谢!!!

解决方案 »

  1.   

    这个好玩,view里重写ondraw每张图要拼到什么位置能不能确定呢?能确定的话就好办
      

  2.   


    恩是这样的
    可以确定每个图的位置,但是无法确定总的宽度和长度,因为不知道行一共有多少张,列同理
    我只要得到这个合成好的bitmap就OK了
    我现在是想一块一块的画到canvas上面,但是canvas要先初始化一个bitmap这个没法确定啊
      

  3.   

    要先初始化一个bitmap是怎么回事,不太懂你说的,
    bitmap 就用的你那些要拼接的bitmap有多少bitmap就canvas.drawbitmap多少次每个bitmap的位置用matrix来控制
      

  4.   


    new canvas的时候不是要给这个canvas定义一个bitmap吗
    如果这个bitmap是空的   canvas.drawbitmap不会报错吗?
      

  5.   

    不用new canvas吧,view的ondraw方法是这样的onDraw(Canvas canvas){
        canvas.drawBitmap(......);
    }
      

  6.   


    朋友  我们有个误区
    我要的最后是bitmap的图片,而不是一个画布canvas,不是显示出去就好了,我还有其他用途canvas我能取到上面的图像生成一个bitmap吗??
      

  7.   

    就是这样的入力是一系列的图片bitmap,不知道多少张,按照一行的顺序直线排列
    出力是一张合成后的bitmap,这样如何做
      

  8.   

    肯定是可以的啊,canvas不能转换,view也是可以转换的吧
      

  9.   

    既然你要拼成一张大图片,难道你就不能确定有几张小图吗?
    1.首先你应该得到这张大图,大图里面是没有内容的,就是一张空的图片
    Bitmap bmp = Bitmap.createBitmap(widthSum,heightSum,Config.ARGB_8888);//并没用内容
    widthSum,heightSum就是小图宽度、高度的和。
    2.然后使用画布在这个bmp上面画图
    Canvas canvas = new Canvas(bmp);//把需要显示的,一起画在画布上
    canvas.drawBitmap(bmp0, 0, 0, null);//小图1(第一个参数就是小图,第二个,第三个就是确定这个小图在这个大图上面的位置,第四个可以不用管)
    canvas.drawBitmap(bmp1, 0, 0, null);//小图2


      

  10.   


    朋友   我就是按照你这样做的
    但是现在不行了   我这个东西可以看做一个公用的api   功能就是把一堆小图拼成一个大图所以肯定没法知道你给我的有多少张图  我这里现在实际是 这个数量最少的是1张  最多的是60张
    如果提前定义bitmap  得到的就不是具体的合成的bitmap的大小了看来android这个东西还真不好搞啊。。
    只能多一步提前去预计算初始bitmap的大小了,这样的问题就是图片数量小效率还可以,一旦图片堆的数量达到了万这个级别的时候,效率就不敢恭维了。
      

  11.   

    我想问的是,你的需求是什么。你是不是想写一个方法,只传bitmap的组数或者集合就能帮你绘制一张大图。即使是这样,但是图片也是要有顺序的啊,如果能拼接起来,也不会是一张正常的图啊。如果不知道所有图片的大小,怎么计算每张小bitmap的坐标。