将图像或照片切割成碎片

时间:2012-02-23 12:18:49

标签: android

伙计们我正在开发一款益智游戏,其中一部分我希望将图像剪切成15个填满整个屏幕的部分,我还需要将这些部分一个接一个地安排在另一个之下(ontouch屏幕)。

我的图像尺寸是414 * 310,我得到的代码我不知道如何使用它请帮助。

我的图像位于可绘制文件夹中。

public Bitmap[] splitBitmap(Bitmap picture)
{
Bitmap scaledBitmap = Bitmap.createScaledBitmap(picture, 240, 240, true);
Bitmap[] imgs = new Bitmap[9];
imgs[0] = Bitmap.createBitmap(scaledBitmap, 0, 0, 80 , 80);
imgs[1] = Bitmap.createBitmap(scaledBitmap, 80, 0, 80, 80);
imgs[2] = Bitmap.createBitmap(scaledBitmap,160, 0, 80,80);
imgs[3] = Bitmap.createBitmap(scaledBitmap, 0, 80, 80, 80);
imgs[4] = Bitmap.createBitmap(scaledBitmap, 80, 80, 80,80);
imgs[5] = Bitmap.createBitmap(scaledBitmap, 160, 80,80,80);
imgs[6] = Bitmap.createBitmap(scaledBitmap, 0, 160, 80,80);
imgs[7] = Bitmap.createBitmap(scaledBitmap, 80, 160,80,80);
imgs[8] = Bitmap.createBitmap(scaledBitmap, 160,160,80,80);
return imgs;


}

我正在研究android 2.1

1 个答案:

答案 0 :(得分:5)

所以,首先需要在xml中有9个(将其剪切成9个)imageview。从drawable读取图像后,将其转换为位图。可能是这种方法可以用来切成碎片:

public Bitmap[] createBitmaps(Bitmap source){
Bitmap[] bmp=new Bitmap[];
int k=0;
int width=source.getWidth();
int height=source.getHeight();
for(i=0;i<3;i++){
   for(j=0;j<3;j++){
    bmp[k]=Bitmap.createBitmap(source,(width*j)/3,(i*height)/3,width/3,height/3);
}

}
return bmp;
} 

创建位图数组后,使用一些随机数将这些位图设置为imageviews。