for (int i = 0; i < mYTileCount; i++) {
for (int j = 0; j < mXTileCount; j++) {
int num = mTileGrid[j][i];
canvas.drawBitmap(Bitmap.createScaledBitmap(mTileArray[num], mTileSize, mTileSize, false), mXOffset, mYOffset, mPaint);
mXOffset+=mTileSize;
}
mXOffset = 0;
mYOffset+=mTileSize;
}
这是我用于在画布上绘制多个位图以创建贴图的代码,但是我想从它们中创建一个大的位图来代替canvas.drawbitmap
答案 0 :(得分:0)
使用由位图支持的Canvas。创建一个正确大小的新位图,然后调用新的Canvas(newBitmap)来创建一个绘制到该新Bitmap的Canvas。然后使用上面用该画布发布的代码。
答案 1 :(得分:0)
如果所有位图都完美地嵌入矩形区域,您可以在所需尺寸上创建一个适合每个较小位图的新位图,然后将每个较小位图中的像素复制到正确偏移的较大位图中。您可以使用位图上的getPixel和setPixel执行此操作。我不会介绍所有不同的优化策略,但这肯定是一个可行的解决方案,它完全绕过了对Canvas的需求。