2015-06-11 101 views
-1

我在android eclipse中设计了一款益智游戏。我在名为“puzzle_image01”的资源可绘制文件中有一张图片。我想把这个图像分成9个部分,并把它放到一些变量中。然后用它们来拼图。现在,我如何将图像分成9部分?如何将图像分割成android eclipse中的某些部分?

感谢您的建议。

回答

1
for(int i = 0; i < 9; ++i) { 

    int indexY = 0; 

    if(i < 3) { 
     imageStartY = 0; 
     imageFinishY = sourceBitmap.height()/3; 
    } 

    else if(i < 6) { 
     imageStartY = sourceBitmap.height()/3; 
     imageFinishY = (sourceBitmap-height()/3) * 2; 
    } 

    else if(i < 9) { 
     imageStartY = (sourceBitmap.height()/3) * 2; 
     imageFinishY = sourceBitmap.height(); 
    } 

    Bitmap resizedbitmap = Bitmap.createBitmap(sourceBitmap 
              , ((sourceBitmap.width())/3) * i 
              , imageStartY 
              ,((sourceBitmap.width())/3) * i + sourceBitmap.width() 
              , imageFinishY) 
} 
1

有趣的挑战。没有对此进行测试,但它适用于图像尺寸除以各自的值大于零的任何行/列组合:

private Bitmap[][] split(Bitmap bitmap, int rows, int columns){ 
    int[] dimens = new int[]{ bitmap.getWidth()/rows, bitmap.getHeight()/columns }; 

    Bitmap[][] splitMap = new Bitmap[rows][columns]; 
    for(int i = 0; i < rows; i++){ 
     for(int j = 0; j < columns; j++){ 
      splitMap[i][j] = Bitmap.createBitmap(bitmap, i * dimens[0], j * dimens[1], dimens[0], dimens[1]); 
     } 
    }  

    return splitMap; 
}