我试图将源图像分成9个子图像,我将给9个ImageViews。我使用Bitmap.createBitmap(src, x, y, width, height)
但结果永远不对。我的来源是300x300,我使用以下代码将源图像分解为100x100图像:
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
pieces.add(Bitmap.createBitmap(sourcePuzzle, i*100, j*100, 100, 100));
}
}
件是ArrayList
的{{1}}。然后我迭代碎片并使用Bitmaps
将每个值分配给唯一的ImageView
然后是subImage.setImageBitmap(pieces.get(i));
。 (imageViews是ImageViews的一个arraylist)。
当它们显示在屏幕上时,imageViews不会按预期显示源图像的部分。它总是偏离一些偏移,甚至可能缩放。不是左上角的起源吗?我需要考虑屏幕密度吗? (我对此一无所知)