我有下面的代码保存用户的绘图。这是我的绘画应用程序的一部分。现在,画布的背景颜色是白色的,我希望它是一个图像。如何将画布背景更改为Android中的图像?
例如,我有一个房子的图像,我想绘制一些东西。
@Override
public void run() {
Canvas canvas = null;
while (_run){
if(isDrawing == true){
try{
canvas = mSurfaceHolder.lockCanvas(null);
if(mBitmap == null){
mBitmap = Bitmap.createBitmap (1, 1, Bitmap.Config.ARGB_8888);
}
final Canvas c = new Canvas (mBitmap);
c.drawColor(0, PorterDuff.Mode.CLEAR);
canvas.drawColor(0, PorterDuff.Mode.CLEAR);
canvas.drawColor(0xffffffff);
commandManager.executeAll(c,previewDoneHandler);
previewPath.draw(c);
canvas.drawBitmap (mBitmap, 0, 0,null);
} finally {
mSurfaceHolder.unlockCanvasAndPost(canvas);
}
}
}
}
非常感谢您的帮助! :)
我不是真的得到你的问题,你想在画布上画一个图像?您似乎已经在画布上绘制图像了。在行'canvas.drawBitmap(mbBitmap,0,0,null);'你已经在绘制它。如果你想让图像成为背景,只要确保它是第一个被绘制的东西,其他所有东西都被绘制在它上面。 – Brian
感谢您的回复@AeroDroid。 “如果你想让图像成为背景,只要确保它是第一个被绘制的东西,其他东西都会被绘制在上面。” - 你说得对,这就是我想要的。任何想法如何做到这一点?我可以在画布上绘制,但无法将图像作为其背景...... – Mico
哦,我的意思是在'if'语句之后放置'canvas.drawBitmap(mBitmap,0,0,null)'。我不确定这是否正是你想要达到的目标,但值得一试。 – Brian