Как использовать globalCompositeOperation в Konva для нескольких фигур с масштабированием - PullRequest
1 голос
/ 18 января 2020

Я пытаюсь создать многоугольники с внутренней границей в Конве.

Я нашел этот пример выполнения этого с globalCompositeOperation, который хорошо работает в Конве, пока там только одна форма. Как только я пытаюсь добавить вторую фигуру, это, очевидно, больше не работает, и первая фигура исчезает.

Это сработало бы, если бы я использовал разные слои для каждой фигуры, но, конечно, это не так решение, которое хорошо масштабируется.

Я попытался использовать временный слой, как это сделано в примере, но не смог заставить его работать.

Итак, я нашел этот пример использования group.cache(), который работает нормально ... пока я не попытаюсь масштабировать стадию, после чего мне придется обновить sh кеш, в противном случае я получу только увеличенный кеш, что выглядит плохо.

Эта кодовая строка иллюстрирует проблему. (Обратите внимание, что здесь используются простые треугольники, в действительности я работаю с произвольными полигонами)

Так есть ли способ использовать кэш с масштабированием? Или в качестве альтернативы лучший способ использовать globalCompositeOperation с несколькими фигурами в одном слое? Или какое-то альтернативное решение?

1 Ответ

2 голосов
/ 19 января 2020

Я нашел решение: позвонить group.cache({pixelRatio: scaleFactor}). Я обновил песочницу.

Не знаю, если это лучшее решение, но оно работает.

...