如何在Konva中将globalCompositeOperation用于具有缩放比例的多个形状

问题描述 投票:0回答:1

我正在尝试在Konva中创建带有内部边框的多边形。

我发现使用this进行此操作的示例globalCompositeOperation在Konva中运行良好,只要只有一种形状即可。当我尝试添加第二个形状时,这显然不再起作用,第一个形状消失了。

如果我为每个形状使用不同的层,那将是可行的,但是,当然,这不是一个很好缩放的解决方案。

我尝试使用示例中的临时层,但无法使其正常工作。

因此,我找到了使用thisgroup.cache()示例,它很好用...直到尝试扩展该阶段为止,此时我必须刷新缓存,否则,我只会得到按比例放大的缓存,看起来很糟。

This codesandbox说明了问题。 (请注意,这使用简单的三角形,实际上我使用的是arbitray多边形)

因此,有一种方法可以将缓存与扩展一起使用?还是在同一层中将globalCompositeOperation与多个形状一起使用的更好方法?或其他替代解决方案?

konvajs
1个回答
0
投票

我找到了解决方案:呼叫group.cache({pixelRatio: scaleFactor})

不知道,如果这是最好的解决方案,但是可以。

© www.soinside.com 2019 - 2024. All rights reserved.