Aquí está el código de una extensión simple de un ImageView que permite al usuario dibujar con el dedo.ImageView: el método onDraw dibuja "detrás" del fondo de la imagen, no en la parte superior
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;
}
}
}
Esto funciona bastante bien.
Ahora, quiero utilizar este código para dibujar en la parte superior de un mapa de bits.
utilicé:
MyImageView ivPic = (MyImageView) dialog.findViewById(R.id.ivPic);
ivPic.setImageBitmap(picture);
Pero el dibujo se dibuja "detrás" del mapa de bits:
¿Tiene alguna idea de lo que puedo sacar en la "cima" de la ¿Bitmap?
¿Ha logrado obtener un mapa de bits con sus dibujos y su mapa de bits? estoy haciendo lo mismo y no puedo salvar el mapa de bits alterado –