Так и должно быть, но не в тот момент, пока я рисую текущий контур.
То есть от момента начала прикасновения до момента отрыва от экрана, bitmap не должен накладываться на такие-же bitmap который были созданы между этими двумя событиями . Но должен накладываться на все привидение.
Пробывал использовать paint.setXfermode (new AvoidXfermode (paint Color, 255, AvoidXfermode.Mode.AVOID));
Но при этом появляется прозрачная область от кисти + отсутствует наложение на приведущие слои.
Последнее конечно можно решить рисуя на отдельный bitmap и накладывать его на целевой. Но как решить проблему с прозрачным контуром я не знаю.
Вопрос на stackoverflow : http://stackoverflow.com/questions/3576 ... -on-stroke
Текущий код :
Код: Выделить всё
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
//Draw all dots on tempBitmap - canvas
for (Vector2 pos : mPositions)
{
tempCanvas.drawBitmap(mBitmapBrush, pos.x, pos.y, paintBrushStyle);
}
//Draw on view bitmap
canvas.drawBitmap(canvasBitMap, 0, 0, drawPaint);
//Clear all points
mPositions.clear();
}
public void setColor(String newColor)
{
invalidate();
paintColor = Color.parseColor(newColor);
paintBrushStyle.setColor(Color.BLACK);
//Make transp.
paintBrushStyle.setAlpha(100);
//set bitmapbrush color
paintBrushStyle.setColorFilter(new PorterDuffColorFilter(paintColor,PorterDuff.Mode.SRC_IN));
//test to avoid blend
paintBrushStyle.setXfermode(new AvoidXfermode(paintColor,255, AvoidXfermode.Mode.AVOID));