问题标签 [konvajs-reactjs]
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.
canvas - 无法使用 Konva 将 PDF 图像作为图像对象加载到 HTML5 画布中
如果源是 PDF,我无法在画布中加载 Konva Image 对象。
没有抛出错误,但画布在图像应该是空白的地方。是否有任何已知的解决方法?欢迎任何建议。
konvajs - React Konva 在拖动时更改 zIndex
嘿,所以我有一点用 React konva 编写的拖放游戏。我的可拖动部分看起来像这样(为方便起见进行了简化
我希望当前被拖动的部分是最高层(最高 zIndex)上的部分。
问题是 React-Konva 不支持 zIndexing,并且似乎希望您根据渲染方法中的顺序强制执行 zIndexing。
我的解决方案是用 currentDragIndex 更新 reactState
然后我尝试在渲染方法中重新排序。但是,这会导致拖动事件被中断。
有人对此有很好的解决方案吗?
javascript - 如何通过 event.target 区分同一层中的 react konva 元素?
再会,
我正在尝试控制 mouseleave 事件。<Drawing>
目标是在元素碰到 a 时继续该元素的笔划,<Label>
并在它超出<Stage>
. <Drawing>
当通过 setState() 触发 mouseleave 事件时,mouseLeaveHandler() on会停止描边。问题是当笔划通过<Label>
导致它停止时也会触发 mouseleave 事件。
我尝试记录事件对象,并且 event.currentTarget 属性似乎为我提供了区分 mouseleave 与<Label>
Konva.Image 以及 mouseleave 与<Stage>
Konva.Stage 所需的信息。但是,由于 currentTarget 属性是只读的,我不能以编程方式使用它。目标属性没有用,因为它会显示为同一个类 Konva.Image。
我的问题是,如何通过事件对象将 konva<Label>
与a 区分开来?<Stage>
我可以向事件目标添加其他属性以使一个与另一个不同吗?
到目前为止我所拥有的:
绘图.js
第一个事件是当中风击中<Label>
. 其次是它离开的时候<Stage>
。如您所见, currentTarget 比 target 属性有更多有用的信息
任何帮助表示赞赏。谢谢!
javascript - 在 react-konva 中转换后矩形无法正确重新渲染
我一直在我的一个项目中使用这个(https://github.com/oasis10702/konva-simple-example)代码,一切正常。但是,将 react 和 react-konva 更新到最新版本会对我造成一些意外行为。当使用转换器调整矩形大小时,它正在缩放边框笔划,见图。scaleX 和 scaleY 似乎都没有重置,这使得每次我移动矩形时它都会执行缩放。
我是 React 和 Konva 的新手,想知道在新版本中是否有一些逻辑发生了变化,我应该考虑缓解这种情况。
尝试在下面的沙箱中调整矩形的大小。 https://codesandbox.io/embed/vyv106x295 如果我将依赖项更新到最新版本,行为就会改变。
我试过用https://github.com/konvajs/konva/issues/401解决它,但在这个版本中似乎没有帮助。
reactjs - 如何为使用 react-konva 渲染的画布元素设置 HTML-id
我在一个项目中使用 react-konva 来渲染 HTML5-canvas 元素:
(...)
现在我希望 HTML 输出有一个 id (myId),如:
我只能找到konva-id但没有设置 HTML-id。
konvajs - 使用 arcTo 的 React-Konva 自定义形状渲染不正确
我正在使用Konva和Konva-React来绘制一个简单的自定义形状,该形状由两条由弧连接的垂直线组成。
自定义形状的 API 文档指出我们可以使用渲染器访问 HTML5 Canvas 上下文。因此,我创建了一个绘图函数,该函数使用 Konva.Canvas 渲染器来显示我的形状,但是该形状没有按预期渲染。请参阅:https ://codesandbox.io/s/react-konva-custom-shape-demo-hs3y4 。
这在使用 HTML5 Canvas https://codepen.io/anon/pen/voYNLR时正确呈现。
经过几次排列(使用打字稿)后,我设法生成了一条错误消息,突出显示了 arcTo 命令的问题:
但是https://www.w3.org/TR/2dcontext/特别指出 arcTo 有 5 个参数:
在进一步调查 Context.d.ts 状态:
nodemodules\konva\lib\Context.js 中 arcTo 的定义有我认为是一个错误:
请注意,arcTo 原型的实现使用 _context.arc 代替 arcTo。如果这是预期的行为,我将不胜感激对这些发现的任何验证,或一些背景。
我在这里创建了一个带有修改的 arcTo 签名的叉子:https ://github.com/piriej/konva (警告:正在进行中)
亲切的问候杰夫
javascript - 使用 KonvaJS 删除应用的过滤器
我正在对 Konva.Image 应用过滤器,但找不到任何方法来删除这些过滤器并返回到原始图像。
我怎样才能做到这一点?
javascript - KonvaJS 过滤器值的等价物
我正在尝试在https://www.cssfilters.co/上找到与 CSS 过滤器等效的 KonvaJS 过滤器值
例如,如何使用 KonvaJS 应用“1977”过滤器。我尝试了很多选择,但每次都得到不同的结果。是否可以为棕褐色或灰度提供值?
我正在使用这样的过滤器(具有不同的值):
javascript - 将元素设置为画布中所有图层的顶部
我正在使用 KonvaJS 创建一个可以使用“连接”连接“节点”的画布。我创建了 2 Layers
、 1NodeLayer
和 1 ConnectionLayer
。我总是想NodeLayer
在ConnectionLayer
. 因此它们呈现如下:
这确保节点始终呈现在连接之上。我正在尝试在我的连接上添加一个工具提示,但是因为它位于工具提示NodeLayer
的顶部,所以connectionLayer
当它位于节点后面时不会显示。
connectionLayer
有没有办法在不改变图层顺序的情况下在节点顶部呈现工具提示?