Когда я начинаю рисовать, он окрашивает весь фон, я имею в виду, что он должен рисовать только белые пятна. Скриншот приложения выглядит следующим образом. Используя Android Paint, я хочу нарисовать только белые пятна на выделенном фоне [Panda] и пропустить любой другой цвет.Обнаружение фонового изображения с помощью Android Paint
onDraw()
функция:
protected void onDraw(Canvas canvas) {
canvas.drawPath(path, paint);
canvas.drawPath(circlePath, circlePaint);
for (Pair<Path,Integer> path_clr : path_color_list){
paint.setColor(path_clr.second);
canvas.drawPath(path_clr.first, paint);
}
for (Pair<Path,Integer> path_clr : circular_path_color_list){
circlePaint.setColor(path_clr.second);
canvas.drawPath(path_clr.first, paint);
}
}
и onTouchEvent
функция:
public boolean onTouchEvent(MotionEvent event) {
float pointX = event.getX();
float pointY = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
circlePath.reset();
path.moveTo(pointX, pointY);
return true;
case MotionEvent.ACTION_MOVE:
path.lineTo(pointX, pointY);
circlePath.reset();
circlePath.addCircle(pointX, pointY, 10, Path.Direction.CW);
break;
case MotionEvent.ACTION_UP:
circlePath.reset();
break;
default:
return false;
}
postInvalidate();
return true;
}
Извините, но я не имею никакого знания о растровом маскирования. Какое значение будет инициализировано «Bitmap whiteAreas»! такая же проблема с «Растровыми штрихами» –
whiteAreas - это то, что говорит название - растровое изображение размером с изображение панды, с прозрачным фоном и с животом и лицом нарисованной панды. штрихи bitmap используется для хранения чертежей, сделанных пользователем. Я подготовил для вас изображение – Zielony
Извините, но я не понимаю :(, я имею в виду, как бы я создал маску и ударил растровые изображения из класса 'view'? Фон, который мы рисуем, является классом расширенный от 'view'. –