我发现下面的代码很好用。它将图像分为 9 个部分。您可以使用此代码将图像分成 16 个部分。这是一个非常简单的方法。
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;
}
该函数以原始位图为参数,然后使用Bitmap.createScaledBitmap(picture, 240, 240, true);我创建了一个大小为 240 x 240 的缩放图像以将图像分成相等的部分,我创建了一个 3 x 3 的网格,其中每个图像的大小为 80 x 80。这可以根据您的需要进行更改,但是宽度应保持在 240,因为所有普通的 android 手机屏幕都是 240 dip 宽度。
所有的位图都存储在一个位图数组中,最后函数将数组返回给调用函数。