如何在不使用Android上的createBitmap()和copy()的情况下将位图复制到另一个位图?

时间:2013-06-11 12:45:06

标签: android bitmap

我有两个位图,我在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()。

感谢。

1 个答案:

答案 0 :(得分:13)

我解决了我的问题

首先我为bmp2创建了bmp1,bmp2和canvas:

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);
}