So ändern Sie die Leinwand im hintergrund, um ein Bild in Android?

Habe ich den code unten, speichert eine Benutzer-Zeichnung. Es ist ein Teil von meinem paint-app. Nun, das canvas-hintergrund-Farbe ist weiß und ich will, dass es ein Bild sein.

Ich habe zum Beispiel ein Bild von einem Haus und ich zeichnen möchte, etwas dabei.

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


        }

    }

}

Vielen Dank für jede Hilfe!!! 🙂

  • Ich bin nicht wirklich deine Frage, die Sie möchten, zeichnen Sie ein Bild auf die Leinwand? Es scheint, wie Sie bereits mit dem zeichnen eines Bildes auf der Leinwand. In der Zeile canvas.drawBitmap(mbBitmap, 0, 0, null); man schon zeichnen. Wenn Sie möchten, dass das Bild in den hintergrund, so stellen Sie sicher, dass es die erste Sache, die gezogen, und alles andere wird gezogen von oben zu.
  • Danke für deine Antwort @AeroDroid. "Wenn Sie wollen das Bild, um den hintergrund, so stellen Sie sicher, dass es die erste Sache, die gezogen, und alles andere wird gezogen von oben zu." - Du hast Recht dies ist, was ich will. irgendwelche Ideen, wie das zu tun? Ich bin in der Lage zu zeichnen Sie auf der Leinwand, aber nicht in der Lage, um ein Bild als hintergrund...
  • Ach ja, was ich meinte war, legte canvas.drawBitmap(mBitmap, 0, 0, null) nach der if - Anweisung. Ich bin mir nicht sicher, ob dies ist genau das, was man versucht zu erreichen, aber einen Versuch Wert.
  • wenn ich canvas.drawBitmap(mBitmap, 0, 0, null) nach der if Aussage, es würde bedeuten, dass mBitmap wird eine url für das Hintergrundbild? und dann die zweite canvas.drawBitmap (mBitmap, 0, 0,null); seine mBitmap der Zeichnung?
InformationsquelleAutor Mico | 2011-09-16
Schreibe einen Kommentar