问题标签 [konvajs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 将多个 imageData 结构组合到一个画布中
我正在使用Konvajs
框架来处理canvas
. 我需要创建三个形状(插槽)并进行一些操作。它可以工作,但我也需要处理像素,我通过 获取图像getImageData
,将其存储在内部结构中,然后用于操作。
完成工作后,我想将这些imageData
结构合并为一个,但我做不到。使用这个答案我尝试这样做,但总是得到:
konva.min.js:29 未捕获的类型错误:无法在“CanvasRenderingContext2D”上执行“drawImage”:提供的值不是“(HTMLImageElement 或 HTMLVideoElement 或 HTMLCanvasElement 或 ImageBitmap)”类型
这是我的代码片段:
我的错误在哪里?
更新:
改行:
至:
和画布保存,但我只看到最后保存的图片。为什么?
html5-canvas - 以高分辨率导出画布的可见区域
我正在为此制作一个 html5 画布,我正在使用 konvajs 和 anglurjs。我想以更高的分辨率导出画布的可见区域。
我可以使用stage.toDataURL('JPEG',1.0)导出可见区域,但它会重新调整图像的分辨率。它根据浏览器窗口设置图像尺寸,但我想以与导入相同的分辨率导出图像。
javascript - 由于目标被视为被动,无法在被动 Konva 事件侦听器中阻止默认值
我正在使用Konva.js@1.3.0库(带有 React@15.4.2 和react-konva
)来构建一个简单的 2D 游戏。
在 Chrome 中测试应用程序时一切正常。但是,当我打开开发工具并切换到设备工具栏(以在移动设备大小的视口上查看应用程序)时,我收到以下警告:
由于目标被视为被动,无法在被动事件侦听器中阻止默认值。
见 https://www.chromestatus.com/features/5093566007214080
我已经阅读了链接并研究{passive: true}
了AddEventListener
. 但是,我并没有直接调用AddEventListener
我的代码,它都是通过 Konva 和 React 抽象出来的。
此外,附加到 Konva 生成的画布元素的点击事件都没有在设备模式下工作。如果我退出设备工具栏,一切正常,点击元素按预期工作。
如何在 Konva/React 中启用被动事件侦听器?(这甚至是解决方案吗?)
konvajs - 在 Konva 中为组使用 show() 和 hide()
我创建了一个 Konva Group 并向其中添加了几个对象。当我调用hide()
该组然后layer.draw()
刷新画布时,该对象仍在显示。我究竟做错了什么?
(康瓦 1.4.0)
javascript - 如何制作不透明的形状,而不是 konvajs 中的边框
我正在使用 konvajs 在画布上绘图。我刚刚找到了一个 opacity 属性,我可以在其中将整个形状的不透明度(在我的情况下是一条闭合线)设置为 alpha 值,但这也包括边框而不仅仅是填充不透明度。
是否有可能只使填充具有一些不透明度并保持边框完全可见?
javascript - 当 Konva 动画结束时如何采取行动?
这个问题是特定于命运之轮的例子。作为 javascript 的新手,我设法更改了楔形的数量、颜色和标签,但我无法将函数绑定到旋转动画的结束事件。这将是一个关于冒险行为的小型心理学实验,我需要确定在轮换结束时哪个楔子达到了标记。
javascript - 为许多图像优化 Konva.js
我目前正在使用 Konva.js 在几个堆叠的 FastLayers 上平铺许多 PNG 图像。PNG 包含不透明度,它们不需要拖动或命中框。瓷砖经常更换,这似乎适用于尺寸约为 30x30 的中型网格。一旦瓦片开始增长到大约 100x100 甚至 60x60,更换单个瓦片时性能开始变慢。
我已经开始研究“分块”图块,即将图块添加到较小的 FastLayer 组中。例如,单个 100x100 FastLayer 将被分成几个 10x10 FastLayer。当单个图块发生变化时,想法是只有该块应该重新渲染,理想情况下可以加快整体渲染时间。
这是一个很好的设计尝试,还是我应该尝试不同的方法?我查看了 Konva.js 文档中的性能提示,但没有看到与此案例直接相关的任何内容。
konvajs - KonvaJS 中的战争迷雾层
我有一个正在开发的浏览器策略游戏,将实现战争迷雾,它将在游戏地图上绘制两层迷雾(以前显示过,从未显示过)。如果我渲染网格上的每个雾方块而不是打孔,我对性能有些怀疑。
对于打孔,我在Konva Free Drawing 示例中看到了示例,在该示例中,我可以擦除玩家一直在使用画布上下文的任何位置...
但是在擦除整个画布的示例中。我不知道我是否可以将它与图层一起使用。我不想擦除地图图层,只需擦除我在地图上的图层上绘制为矩形的大雾纹理的一部分。
有没有人有任何建议或有一个可以解决这个问题的工作示例?
javascript - Konvajs 如何动态更改图像 src
我创建了这样的 Konva 图像
现在我需要知道如何更新创建的 Konva.Image 对象的图像 src/url。
konvajs - Konva js 中的拖放限制
我最近开始学习Konva-JS ...请帮助我:)
正如我们在这个示例Animals_on_the_Beach_Game中看到的那样,动物的图像是可拖动的,可以放在任何地方......但我想改变它,让它只能放在特定的地方......我能做什么? 谢谢你 :)