我有一个需求,想了很久,没有想到解决的方案,希望有高手指点迷津,详述如下
要实现一个模仿图片动作的功能。
具体的要求是这样的:例如这里有一张完整的图片,而我要将这张图片的元素分离出来,然后再进行整合成一张完整的图片。说实话,当接到这个需求时,有点蒙了,不知道如何去实现这样的功能。
另外还提供点线索:
达到目的:从直接的角度来说,是为了达到练习记忆图片的功能。
从最终的目的来说,是为了记忆这张图片所表达的文字信息。
另外说明一点,这个和我们玩过的拼图游戏有点区别,不需要拼图那么强的逻辑。
由于知识面有限,只能求助了,希望高手能给点思路,谢谢!
[解决办法]
这个很简单啊,做过游戏精灵的都会。
要理论你就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楼的基本功,没错是静态化切割的,动态切割的话就是把基本切割拆分让用户选择而已而已
如果要做你的功能
需要在2楼的基础上,加上图片储存,和图片记忆的算法
如果2楼你都不理解的话,以下你就更加不可能懂了
bmp就是你的图,
bmp1就是分离出来的图(你必须知道字的带下,只是直接切割,你必须知道文字大小,否则没有办法分离里面的字,即使是photoshop也没办法)
Bitmap bmp1=Bitmap.createBitmap(bmp,0,0,10,10,null);
然后把bmp1储存起来就可以了,用户要的时候调出来
