Bildansicht: onDraw-Methode zeichnet "hinter" dem Bild-hintergrund, nicht an der Spitze

Hier ist der code, der eine einfache Erweiterung von einer Bildansicht, die dem Benutzer erlauben, zu zeichnen mit dem finger.

public class MyImageView extends ImageView {

    List<Point> points = new ArrayList<Point>();
    Paint paint = new Paint();

    public MyImageView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    public void onDraw(Canvas canvas) {
        for (Point point : points) {
            canvas.drawCircle(point.x, point.y, 5, paint);
            //Log.d(TAG, "Painting: "+point);
        }
        super.onDraw(canvas);
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        super.onTouchEvent(event);
        Point point = new Point();
        point.x = event.getX();
        point.y = event.getY();
        points.add(point);
        invalidate();
        Log.d("", "point: " + point);
        return true;
    }

    class Point {
        float x, y;
        @Override
        public String toString() {
            return x + ", " + y;
        }
    }
}

Diese Arbeit ziemlich gut.

Nun möchte ich diesen code verwenden, um ziehen an der Spitze einer Bitmap.

Verwendet habe ich:

MyImageView ivPic = (MyImageView) dialog.findViewById(R.id.ivPic);
ivPic.setImageBitmap(picture);

Aber die Zeichnung gezogen wird "hinter" die Bitmap:

Bildansicht: onDraw-Methode zeichnet

Haben Sie eine Idee, wie ich zeichnen kann, die auf der "Spitze" der Bitmap?

Haben Sie es geschafft, bekommen ein bitmap mit Ihren Zeichnungen und Ihrer bitmap dahinter ? mache ich das gleiche und kann nicht zum speichern der bitmap verändert

InformationsquelleAutor Waza_Be | 2012-06-24

Schreibe einen Kommentar