类似Photoshop的画笔,在Android画布上。中风混合

时间:2016-03-03 00:50:41

标签: android canvas bitmap paint blend

我正在尝试实现位图画笔并在画布上绘制她。问题是,当我把刷子阿尔法颜色,它开始强加普遍。指向旧的,以便透明度消失。就像混合模式一样。

一定是这样,但不是在我画这个笔画的那一刻。 必须在所有先前的笔划图层上施加下一笔划, 但不是现在的。

ex

如何实现?我尝试使用:

paint.setXfermode(new AvoidXfermode(paint Color,255,AvoidXfermode.Mode.AVOID));

这样可以避免拼写当前的颜色,但是在刷子显示的白色透明区域的第一个位置。第二个不适用于强加潜在的笔画。

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));

0 个答案:

没有答案