Я хочу нарисовать с помощью некоторых фигур, например, звезды. Пока я двигаю пальцем, я хочу нарисовать звезду. Форма звезды - только пример. Что я на самом деле хочу сделать, так это реализовать разные точки с помощью файлов .png с решением.
Я использую bitmapShader для этих целей, однако он не работает так, как я хотел. Это просто цвета фиксированных звезд на заднем плане. Это не то, что я хотел. Ниже мой код:
Bitmap patternBMP = BitmapFactory.decodeResource(getResources(), R.drawable.star);
bitmapShader = new BitmapShader(patternBMP, Shader.TileMode.REPEAT, Shader.TileMode.REPEAT); //create shader
paintDraw.setShader(bitmapShader);
@Override
protected void onDraw(Canvas canvas)
{
canvas.drawBitmap(bitmap, 0, 0, paintDraw);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
float touchX = event.getX();
float touchY = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
drawPath.moveTo(touchX, touchY);
break;
case MotionEvent.ACTION_MOVE:
drawPath.lineTo(touchX, touchY);
canvasBitmap.drawPath(drawPath, paintDraw);
break;
case MotionEvent.ACTION_UP:
drawPath.lineTo(touchX, touchY);
canvasBitmap.drawPath(drawPath, paintDraw);
drawPath.reset();
break;
default:
return false;
}
//redraw
invalidate();
return true;
}