我想使用画笔笔划将灰度效果应用于位图,即用户可以使用画笔将灰度效果应用于位图的细节区域,如下所示:
我使用canvas.drawBitmap(...)方法在视图上显示位图。我学会了使用路径和绘图实例在位图上绘制笔触,我只想将灰度效果应用于绘制笔刷笔迹的位图。
我的Paint对象定义为:
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setStyle(this.paintStyle);
paint.setStrokeWidth(this.paintStrokeWidth);
paint.setStrokeCap(this.lineCap);
paint.setDither(true);
paint.setStrokeJoin(Paint.Join.MITER);
ColorMatrix colorMatrix = new ColorMatrix();
colorMatrix.setSaturation(0);
paint.setColorFilter(new ColorMatrixColorFilter(colorMatrix));
paint.setAlpha(255);
但它没有画出任何笔画。如果我删除paint.setColorFilter(...)而改为使用paint.setColor(...),那么我可以在位图上看到笔画。 我尝试使用paint.setXferMode(...)但它没有用。
在我的视图中,onDraw()使用了
canvas.drawPath(path, paint);
有人可以指出我正确的方向吗?提前谢谢!