我需要在运行时从较大的图像创建一个新的较小的图像。较小的图像尺寸是固定的(正方形)并且表示较大图像的特定区域(较小的图像是较大图像的子集)。图像格式无关紧要。
感谢。
答案 0 :(得分:3)
您可以使用此功能:
Bitmap[] splitImage(Bitmap bitmap, int rCnt, int cCnt) {
Bitmap[] result = new Bitmap[rCnt * cCnt];
int w = bitmap.getWidth() / cCnt;
int h = bitmap.getHeight() / rCnt;
for (int i = 0; i < rCnt; i++)
for (int j = 0; j < cCnt; j++) {
Bitmap bitmapPart = new Bitmap(w, h);
Graphics g = new Graphics(bitmapPart);
g.drawBitmap(0, 0, w, h, bitmap, w * j, h * i);
result[i * cCnt + j] = bitmapPart;
}
return result;
}
的完整来源