8

我有两个位图,我在 onCreate() 中创建它们。

Bitmap bmp1 = BitmapFactory.decodeResource(getResources(),id);
Bitmap bmp2 = BitmapFactory.decodeResource(getResources(),id);

bmp1 和 bmp2 相同。我在我的应用程序中修改了 bmp2。完成工作后,我单击“清除”按钮。当我单击“清除”按钮时,我试图将 bmp1(干净的图像)复制到 bmp2(更改的图像)。但我不想使用 createBitmap() 或 copy() 函数。因为这些都是创建新的 Bitmap 对象。我只想使用我的两个位图(bmp1 和 bmp2)。如何将 bmp1 复制到 bmp2?我搜索谷歌,但每个人都用 createBitmap() 或 copy() 来做这件事。

谢谢。

4

1 回答 1

15

我解决了我的问题

首先,我为 bmp2 创建了 bmp1、bmp2 和画布:

bmp1 = BitmapFactory.decodeResource(cont.getResources(), R.drawable.image);
bmp2 = bmp1.copy(bmp1.getConfig(), true);
canvasBmp2 = new Canvas( bmp2 );

当我想将 bmp1 复制到 bmp2 时:

canvasBmp2.drawBitmap(bmp1, 0, 0, null);

@Override
protected void onDraw(Canvas canvas) 
{
    canvas.drawBitmap(bmp2, 0, 0, null);
}
于 2013-06-12T14:51:16.547 回答