0

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

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

但是这个过程的速度很慢。我在三星手机上对此进行了测试。

制作带有平铺 bmp 图像的大位图大约需要 15 秒。有没有办法解决这个问题?

谢谢。

4

1 回答 1

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 */); 
于 2013-07-15T18:22:58.783 回答