2

这是这个问题的序列部分:Combining 2 Imagesoverlayed

所以问题是:如果图像尺寸太大 - 它会出现我想要的异常(内存不足异常),即使手机获得了较低规格的硬件,它也不会出现该异常(但处理图像需要更长的时间)

可以这样做吗?

代码片段是这样的:

public static Bitmap overlay(Bitmap bmp1, Bitmap bmp2) {
    Bitmap bmOverlay = Bitmap.createBitmap(bmp1.getWidth(), bmp1.getHeight(), bmp1.getConfig());
    Canvas canvas = new Canvas(bmOverlay);
    canvas.drawBitmap(bmp1, new Matrix(), null);
    canvas.drawBitmap(bmp2, 0, 0, null);
    return bmOverlay;
}

并且该代码块位于异步任务中。

如果有人能在这件事上帮助我,我真的很感激。

谢谢和问候,并且

4

2 回答 2

2

我认为您别无选择,只能以较小的尺寸重新缩放位图...

于 2010-12-06T10:32:45.480 回答
0

我能想到的唯一处理方法是将图像分成几块,这样您就不必一次将所有内容都保存在内存中。如果您不想保留 bmp1,您可以直接在其上绘制 bmp2 而不是创建一个新的位图,尽管我不确定这是否是您所追求的。

于 2010-09-16T06:40:53.207 回答