要实现一个模仿图片动作的功能。
具体的要求是这样的:例如这里有一张完整的图片,而我要将这张图片的元素分离出来,然后再进行整合成一张完整的图片。说实话,当接到这个需求时,有点蒙了,不知道如何去实现这样的功能。
另外还提供点线索:
达到目的:从直接的角度来说,是为了达到练习记忆图片的功能。
          从最终的目的来说,是为了记忆这张图片所表达的文字信息。另外说明一点,这个和我们玩过的拼图游戏有点区别,不需要拼图那么强的逻辑。
由于知识面有限,只能求助了,希望高手能给点思路,谢谢!

解决方案 »

  1.   

    这个很简单啊,做过游戏精灵的都会。要理论你就google下吧大概是这样,以下完全手写Drawable d=getResource().getDrawResource(R.drawable.baseimage);
    //drawable转成bitmap
    Bitmap bmp=...
    //切成3行共9块,每块10x10
    Bitmap bmp1=Bitmap.createBitmap(bmp,0,0,10,10,null);
    Bitmap bmp2=Bitmap.createBitmap(bmp,10,0,10,10,null);//第一行第二块,所以和上面一块相比,从10开始切
    .....
    Bitmap bmp9=Bitmap.createBitmap(bmp,20,20,10,10,null);//得到9个图后,就看你怎么组合了,先建立一个空白大图
    Bitmap bmpCompile=Bitmap.create(30,30);
    Canvas canvas=new Canvase(bmpCompile);//获取该大图的画笔
    //然后随便画
    canvas.drawbitmap(bmp1,0,0,);
    canvas.drawbitmap(bmp2,20,10);//最后将大图通过Imageview显示,搞定收工。
    imageview.setimage(bmpCompile);
      

  2.   

    首先,还是很谢谢您的回答,不过,对于您上面所说的思路还是没太明白,用canvas画图,这个是在程序运行后就已经画好了吗?还是?而我的这一操作是需要用户来完成的。
        将切块的图的整合过程完全有用户来完成,在程序中要完成的功能就是将图片的不同元素分离,然后由用户来操作元素的整合,最终由程序来校验整合的正确与否。
      

  3.   

    2楼的基本功,没错是静态化切割的,动态切割的话就是把基本切割拆分让用户选择而已而已如果要做你的功能需要在2楼的基础上,加上图片储存,和图片记忆的算法如果2楼你都不理解的话,以下你就更加不可能懂了bmp就是你的图,bmp1就是分离出来的图(你必须知道字的带下,只是直接切割,你必须知道文字大小,否则没有办法分离里面的字,即使是photoshop也没办法)Bitmap bmp1=Bitmap.createBitmap(bmp,0,0,10,10,null);然后把bmp1储存起来就可以了,用户要的时候调出来