konvajs - 如何在 Konva 中将 globalCompositeOperation 用于具有缩放的多个形状
问题描述
我正在尝试在 Konva 中创建具有内边框的多边形。
我发现这个例子globalCompositeOperation
在 Konva 中效果很好,只要只有一个形状。一旦我尝试添加第二个形状,这显然不再起作用,第一个形状消失了。
如果我要为每个形状使用不同的图层,它会起作用,但当然这不是一个可以很好扩展的解决方案。
我尝试使用示例中的临时图层,但无法使其正常工作。
所以我发现了这个使用的例子group.cache()
,它工作得很好......直到我尝试缩放舞台,此时我必须刷新缓存,否则我只能得到放大的缓存,这看起来很糟糕。
这个代码框说明了这个问题。(请注意,这使用了简单的三角形,实际上我使用的是任意多边形)
那么有没有办法使用缓存进行缩放?或者globalCompositeOperation
在同一层中使用多个形状的更好方法?或者一些替代解决方案?
解决方案
我找到了解决方案:调用group.cache({pixelRatio: scaleFactor})
. 我更新了沙盒。
不知道,如果这是最好的解决方案,但它有效。
推荐阅读
- r - sqldf - 更改语法以将新列添加到数据框
- unix - db2 创建索引但命中 SQLSTATE=42703
- mysql - PROD 和 UAT 服务器之间的 MySQL 数据库模式比较
- python - 使用 matshow 的相关矩阵的大小
- android - 切换片段时未执行“onWindowFocusChanged()”
- javascript - 使用 javascript 下载 url 文件而不是打开文件
- c# - 使用 Interop 从 DataGrid 导出到 Excel 太慢
- javascript - 从列表中生成下拉列表
- xamarin - 验证本地存储变量是否存在的正确方法是什么?- 赛马林
- google-maps-api-3 - 谷歌 API javascript