我要将多个位图图像合并为jpeg图像。
我可以从多个位图图像(平铺)制作大型.bmp文件。 我可以使用jpeg库将其转换为jpeg文件。
但这个过程的速度非常慢。 我在SamSung手机上测试了这个。
使用平铺的bmp图像制作大型位图大约需要15秒。 有什么方法可以解决这个问题吗?
感谢。
答案 0 :(得分:0)
图像处理的问题是如果你没有正确地执行它,你最终会多次复制整个图像。挑战是尝试仅为图像保留一个缓冲区。像下面这样的东西会非常有效。
// create one big bitmap
Bitmap finalBitmap = Bitmap.create(finalWidht, finalHeight, Bitmap.Config.ARGB_8888);
for(int i=0;i<numTilesWide;i++) {
for(int j=0;j<numTilesHigh;j++) {
int[] tilePixels = // load tile bitmap into this int array
// copy tile onto final bitmap
finalBitmap.setPixels(tilePixels, 0, tileWidth, i*tileWidth, j*tileHeight);
}
}
// write the image as a jpeg to the file
finalBitmap.compress(Bitmap.CompressFormat.JPEG, 50, /* file stream */);