Narysuj na płótnie z bitmapą jako tłem
Próbuję narysować zdjęcie, które zrobiłem. Rysowanie działa bez rysowanego obrazu, ale jeśli narysuję mapę bitową, widzę tylko bitmapę, ale pojawia się rysunek. Próbowałem dużo, ale nic nie pomaga. Z góry dziękuję.
private class myView extends View implements OnTouchListener{
File root = Environment.getExternalStorageDirectory();
Path path;
ArrayList<Path> _graphics = new ArrayList<Path>();
Bitmap myBitmap;
Paint myPaint;
public myView(Context context) {
super(context);
File file = new File(root, "temp.jpg");
myBitmap = null;
if (file.exists()) {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
myBitmap = setBitmap(BitmapFactory.decodeFile(new File(root,
"temp.jpg").getPath(), options));
}
myPaint = new Paint();
myPaint.setColor(Color.GREEN);
myPaint.setStyle(Paint.Style.STROKE);
myPaint.setStrokeWidth(3);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawBitmap(myBitmap, 0, 0, null);
for (Path path : _graphics) {
canvas.drawPath(path, myPaint);
}
}
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
path = new Path();
path.moveTo(event.getX(), event.getY());
} else if (event.getAction() == MotionEvent.ACTION_MOVE) {
path.lineTo(event.getX(), event.getY());
} else if (event.getAction() == MotionEvent.ACTION_UP) {
path.lineTo(event.getX(), event.getY());
_graphics.add(path);
}
return true;
}
}