Dynamically generated line with glow effective

后端 未结 1 1490
迷失自我
迷失自我 2020-12-12 16:02

I want to draw line with glow effect like this
\"glow
The problem - i must generate this line in progr

相关标签:
1条回答
  • 2020-12-12 16:30

    I imitate this effect in this way :

    1. Draw line with BlurMaskFilter;
    2. Draw over it normal line.

    I use Path class to generate line and save coordinates of MOVE_ACTION event to generate only part of path what i need.

    Create 2 Paint()s:

    _paintSimple = new Paint();
    _paintSimple.setAntiAlias(true);
    _paintSimple.setDither(true);
    _paintSimple.setColor(Color.argb(248, 255, 255, 255));
    _paintSimple.setStrokeWidth(20f);
    _paintSimple.setStyle(Paint.Style.STROKE);
    _paintSimple.setStrokeJoin(Paint.Join.ROUND);
    _paintSimple.setStrokeCap(Paint.Cap.ROUND);
    
    _paintBlur = new Paint();
    _paintBlur.set(_paintSimple);
    _paintBlur.setColor(Color.argb(235, 74, 138, 255));
    _paintBlur.setStrokeWidth(30f);
    _paintBlur.setMaskFilter(new BlurMaskFilter(15, BlurMaskFilter.Blur.NORMAL)); 
    

    And draw twice my Path():

    @Override
    protected void onDraw(Canvas canvas) {
        canvas.drawPath(mPath, _paintBlur);
        canvas.drawPath(mPath, _paintSimple);
    }
    
    0 讨论(0)
提交回复
热议问题