我有以下代码来保存用户的绘图。这是我的绘画应用程序的一部分。现在,画布的背景颜色是白色的,我希望它是一个图像。
例如,我有一个房子的图像,我想在它上面绘制一些东西。
@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);
}
}
}
}
非常感谢您的帮助! :)
答案 0 :(得分:1)
我认为你在寻找这个:
答案 1 :(得分:0)
要更改画布的背景,请在onCreate()
mainActivity.java
中输入以下一行
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
drawView.setBackground(getResources().getDrawable(R.drawable.background));
}
另外,您可以尝试在onDraw()中执行此操作,但性能会大大降低
canvas.drawBitmap(BitmapFactory.decodeResource(getResources(),R.drawable.bg1),0,0,null)