我正在尝试在Konva中创建带有内部边框的多边形。
我发现使用this进行此操作的示例globalCompositeOperation
在Konva中运行良好,只要只有一种形状即可。当我尝试添加第二个形状时,这显然不再起作用,第一个形状消失了。
如果我为每个形状使用不同的层,那将是可行的,但是,当然,这不是一个很好缩放的解决方案。
我尝试使用示例中的临时层,但无法使其正常工作。
因此,我找到了使用this的group.cache()
示例,它很好用...直到尝试扩展该阶段为止,此时我必须刷新缓存,否则,我只会得到按比例放大的缓存,看起来很糟。
This codesandbox说明了问题。 (请注意,这使用简单的三角形,实际上我使用的是arbitray多边形)
因此,有一种方法可以将缓存与扩展一起使用?还是在同一层中将globalCompositeOperation
与多个形状一起使用的更好方法?或其他替代解决方案?
我找到了解决方案:呼叫group.cache({pixelRatio: scaleFactor})
。
不知道,如果这是最好的解决方案,但是可以。