我想在针的开头做模糊效果
为此,我使用BlurMaskFilter
,但在针上绘制的模糊圆圈几乎不可见。
要画针我使用:
handPath = new Path();
handPath.moveTo(0.5f, 0.5f);
handPath.lineTo(0.5f - 0.010f, 0.5f);
handPath.lineTo(0.5f - 0.010f, 0.5f - 0.32f);
handPath.lineTo(0.5f + 0.010f, 0.5f - 0.32f);
handPath.lineTo(0.5f + 0.010f, 0.5f);
handPath.lineTo(0.5f, 0.5f);
// Add blur effect
handBlurPaint = new Paint();
handBlurPaint.setColor(Color.BLACK);
handBlurPaint.setMaskFilter(new BlurMaskFilter(8, Blur.NORMAL));
我要用手画
float handAngle = degreeToAngle(handPosition);
canvas.save(Canvas.MATRIX_SAVE_FLAG);
canvas.rotate(handAngle, 0.5f, 0.5f);
canvas.drawPath(handPath, handPaint);
canvas.restore();
//Add blur effect
canvas.drawCircle(0.5f, 0.5f, 0.1f, handBlurPaint);
结果
我试过
.setMaskFilter(new BlurMaskFilter(8, Blur.NORMAL))
和
.setMaskFilter(new BlurMaskFilter(8, BlurMaskFilter.Blur.NORMAL))
我该怎么做才能达到效果? 提前谢谢。
更新
此2D graphics with Effects链接中的Blur过滤器正在运行。
UPDATE2
使用RadialGradient
我设法做的几乎和我想要的一样。感谢@dwana
handBlurPaint.setShader(new RadialGradient(0.5f, 0.5f, 0.2f,Color.BLACK, Color.TRANSPARENT, TileMode.MIRROR));
和结果