Android:如何将多个位图图像合并为大型jpeg图像

时间:2013-07-15 18:08:47

标签: android bitmap

我要将多个位图图像合并为jpeg图像。

我可以从多个位图图像(平铺)制作大型.bmp文件。 我可以使用jpeg库将其转换为jpeg文件。

但这个过程的速度非常慢。 我在SamSung手机上测试了这个。

使用平铺的bmp图像制作大型位图大约需要15秒。 有什么方法可以解决这个问题吗?

感谢。

1 个答案:

答案 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 */);