BlurMaskFilter blur =
new
BlurMaskFilter(
20
, BlurMaskFilter.Blur.OUTER);
mPaint =
new
Paint();
mPaint.setAntiAlias(
true
);
mPaint.setDither(
true
);
mPaint.setStrokeWidth(curWidth);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setStrokeJoin(Paint.Join.BEVEL);
mPaint.setStrokeCap(Paint.Cap.ROUND);
mPaint.setMaskFilter(blur);
mPaint.setShader(
new
LinearGradient(
0
,
1000
,
0
,
1000
,
curColor,curColor2,TileMode.REPEAT));
위와 같이 선에 효과를 주고 초록선으로 칠하면 그 주위에 번짐효과처럼 나오게 효과를 줬는데
다른 선을 그리기 시작하면 겉에 번짐효과는 남아잇는데 선은 없어지네요 ㅠㅠ
private
void
touch_start(
float
x,
float
y) {
mPath.reset();
색상 변경시 전에 칠한것도 바뀌고
전에 그린 선도 새로운선 그릴때마다 다시 칠해져서 색이
진해지네요.....
switch
(curMode) {
case
PENMODE:
mPath.moveTo(x, y);
mX = x;
mY = y;
break
;
case
RECTMODE:
case
CIRCLEMODE:
break
;
}
}
private
void
touch_move(
float
x,
float
y) {
switch
(curMode) {
case
PENMODE:
mPath.lineTo(x, y);
mPath.quadTo(mX, mY, (x + mX) /
2
, (y + mY) /
2
);
mX = x;
mY = y;
case
RECTMODE:
case
CIRCLEMODE:
break
;
}
}
private
void
touch_up(
float
x,
float
y) {
switch
(curMode) {
case
PENMODE:
mPath.lineTo(mX, mY);
break
;
case
RECTMODE:
mPath.addRect(startX, startY, stopX, stopY, Direction.CW);
break
;
case
CIRCLEMODE:
mPath.addCircle(startX, startY, (
float
) Math.sqrt((Math.pow(
Math.abs(stopX - startX),
2
) + Math.pow(
Math.abs(stopY - startY),
2
))), Direction.CW);
break
;
}
mCanvas.drawPath(mPath, mPaint);
}