Android 如何设置图像显示在当前画布后面?
我正在用帆布画不同的颜色。 我想设置应该显示为画布背景的图像。当我在这个图像上画的时候,它应该画在图像上,而不是图像后面。 现在,使用下面的代码,它正在图像后面绘制Android 如何设置图像显示在当前画布后面?,android,android-layout,android-emulator,android-canvas,Android,Android Layout,Android Emulator,Android Canvas,我正在用帆布画不同的颜色。 我想设置应该显示为画布背景的图像。当我在这个图像上画的时候,它应该画在图像上,而不是图像后面。 现在,使用下面的代码,它正在图像后面绘制 @Override public void run() { Canvas canvas = null; while (_run){ try{ canvas = mSurfaceHolder.lockCanvas(null);
@Override
public void run() {
Canvas canvas = null;
while (_run){
try{
canvas = mSurfaceHolder.lockCanvas(null);
canvas.drawColor(0, PorterDuff.Mode.CLEAR);
commandManager.executeAll(canvas);
} finally {
Bitmap kangoo = BitmapFactory.decodeResource(getResources(),R.drawable.icon);
canvas.drawBitmap(kangoo, 130, 100, null);
mSurfaceHolder.unlockCanvasAndPost(canvas);
}
}
}
那么我应该怎么做才能在图像上画画呢?没有人给我答案。 但我得到了解决方案,我必须在清除画布后设置图像 代码:
在While(1)循环中重新绘制画布时,可以将语句
canvas.drawBitmap(kangoo,130,100,null)
放在循环的顶部,以便反复绘制画布,然后在其顶部进行绘制
如果要将绘制的零件保存到,请执行以下操作,如将画布转换为位图:
Bitmap bitmapToBeDrawnFromNextTime = Bitmap.createBitmap( canvas.getWidth(), canvas.getHeight(), Bitmap.Config.ARGB_8888);
Canvas imageCanvas = new Canvas(bitmapToBeDrawnFromNextTime);
imageCanvas.draw(canvas);
Bitmap bitmapToBeDrawnFromNextTime = Bitmap.createBitmap( canvas.getWidth(), canvas.getHeight(), Bitmap.Config.ARGB_8888);
Canvas imageCanvas = new Canvas(bitmapToBeDrawnFromNextTime);
imageCanvas.draw(canvas);