Flutter: масштабирование холста в определенных местах
Я пытаюсь сделать что-то вроде увеличительного стекла на Custom Painter. Пока я могу использовать Backdropfilter с масштабированием матрицы imagefilter, как показано ниже:
BackdropFilter(
filter: ImageFilter.matrix(matrix),
child : CustomFocusCircle()
),
Хотя он работает со стеком и позиционированием, мне интересно, можно ли создать его на холсте. Я пробовал что-то вроде этого, и это сработало.
canvas.drawAtlas(
sourceImage,
[
/* Identity transform */
RSTransform.fromComponents(
rotation: 0.0,
scale: 1,
anchorX: 0,
anchorY: 0,
translateX: 0,
translateY: 0,
)
],
[
Rect.fromCircle(
center: Offset(size.width / 2, size.height / 2),
radius: 200),
],
[],
null,
null,
Paint());
Но я до сих пор не могу понять, как сделать круглый вырез вместо прямоугольного.
1 ответ
Вы пробовали этот пакет https://pub.dev/packages/magnifying_glass ? вы можете попробовать этот пакет, я надеюсь, что это может помочь вам.