所以我有一个需要模糊处理的图像,但仅在用户拖动手指的位置。
我有一个使用以下方法绘制的图像:
final UI.Rect rect = UI.Offset.zero & size;
final Size imageSize =
Size(_image.width.toDouble(), _image.height.toDouble());
FittedSizes sizes = applyBoxFit(BoxFit.contain, imageSize, size);
final Rect inputSubrect =
Alignment.center.inscribe(sizes.source, Offset.zero & imageSize);
final Rect outputSubrect =
Alignment.center.inscribe(sizes.destination, rect);
canvas.drawImageRect(_image, inputSubrect, outputSubrect, Paint());
以及使用以下效果的模糊效果:
canvas.drawRect(Rect.fromPoints(_blurStart, _points[i + 1].offset),
blurPaintSettings);
其中_blurStart是第一个接触点,_points [i + 1]是最后一个接触点。
模糊涂料是这样的:
Paint blurPaintSettings = new Paint()
..style = PaintingStyle.fill
..maskFilter = MaskFilter.blur(BlurStyle.normal, 3.0);
但是此刻我已经明白了: Black spots
我已经尝试使用:
canvas.saveLayer(Rect.fromPoints(_blurStart, _points[i + 1].offset),
blurPaintSettings)
但是什么也没显示