问题标签 [konva]

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.

0 投票
1 回答
114 浏览

konvajs - 考虑附加参数如何获得 Konva.TextPath 宽度

美好的一天,读者。

我正在尝试使用 Konva 创建具有动态路径的弯曲文本,因此我将 Konva.Text 转移到 Konva.TextPath,添加到 Text attrs 计算路径(代码示例写在最后),虽然我无法获得 Konva.TextPath's考虑到下面列出的其他参数的右宽度。我试过这个方法`

  • textNode.textwidth
  • textNode.width()
  • textNode.textWidth()
  • textNode.getClientRect().width// 弯曲时尺寸错误

最接近我想要的是第 3 个选项(似乎与第 1 个相同?)。

有没有考虑到像`这样的参数来获得Konva.TextPath的宽度

  • 字体,
  • 字体大小,
  • 字母间距,

我阅读了文档,查看了stackoverflow,但找不到任何方法。有什么我错过的吗?

谢谢

0 投票
1 回答
292 浏览

object - 使用 Konvajs,我需要拖动另一个对象下的对象而不将其带到顶部

使用 Konvajs,我需要拖动另一个对象下方的对象而不将底部对象带到顶部,顶部对象不可拖动。

将不胜感激任何帮助,谢谢。

0 投票
1 回答
564 浏览

reactjs - 从 webpack/CRA 迁移到 snowpack:未捕获 SyntaxError:请求的模块 X 未提供名为 Y 的导出

请帮助我了解导致以下错误消息的原因。

我正在尝试将项目迁移到 Snowpack,之前使用过 create-react-app。在这个项目中,我使用一个名为 react-konva 的库来处理一些画布的东西。这个库在 create-react-app 中使用时工作正常,但是当我尝试将它与 snowpack 一起使用时,我收到此错误:

这个片段引发了我上面的错误:

在使用 create-react-app 初始化的项目中使用相同的代码段时不会导致任何问题。

我不明白是什么原因造成的。我不确定../web_modules/错误消息中指的是哪个目录。我以前没有听说过,我的搜索也没有找到任何相关的匹配项。

0 投票
1 回答
430 浏览

konvajs - 使用 React Konva 添加填充

我想创建与此等效的(sudo 代码):

使用 React Konva 元素。我知道如何开始,使用Group,RectText但我不知道如何做 padding。希望有人能帮忙!谢谢!!

编辑:这就是我要构建的(绿色背景,文本周围有 2px 填充)。

0 投票
1 回答
52 浏览

konvajs - 如何获取单击元素的位置和 id 以更改颜色并在其上绘制线条

我正在开发一个基本的窗框配置器。我在下面的功能中拆分了眼镜。我想在单击时更改颜色并获取单击玻璃的位置以绘制开口方向线。我试图理解和实施 Lavrton 的方法(https://codesandbox.io/s/0xj7zml2zl?file=/src/index.js)但我无法成功。

}

当我使用带有 konva 元素 ("glass"+i) 的 id 的 getelementbyid 方法时,它返回 null。我想我需要成为一个 konva 元素。

0 投票
1 回答
149 浏览

vue.js - Vue-Konva 的中心舞台

我正在尝试使用 Vue 2 中的 Vue-Konva 构建一个非常基本的视频编辑应用程序。这是一个名为“konvaStage”的 Vue 组件。这是一个带有 1px 黑框的简单舞台:

尽管在组件文件和父应用程序视图中使用 CSS 来对齐舞台,但舞台始终位于左侧居中,与窗口边框有一些边距。我同时使用了 text-align 和 align-content 属性。

我设法通过将舞台包装在<p align='center'> </p>标签中来找到一种方法。但是,添加边框会显示画布会扩展到页面的整个宽度。特别是,在此配置中管理点击事件及其坐标是不可能的。

有没有更好的方法来做到这一点?

0 投票
1 回答
29 浏览

vue.js - konva,带有 vuejs 的容器

我遇到了问题,当我使用 . 我必须使用那个元素,否则元素不会重叠。图片:

ide

安慰

0 投票
1 回答
122 浏览

javascript - Konvajs - 相对放大到指针,但非相对缩小

我正在使用 Konva 画布框架,我想用鼠标滚轮实现放大和缩小。放大应该相对于我的光标指针,但缩小应该始终缩小到初始状态。

因此,在示例中,您可以看到中心有一个绿色圆圈。当客户端放大时,我希望缩放相对于指针。但是,在缩小时,缩放不会相对于指针,而只是回到初始状态(中心的绿色圆圈)。

0 投票
2 回答
341 浏览

javascript - 画布转 PDF、HTML、Konva.js

我正在研究 Konva 舞台上的可拖动对象。我想将画布对象层转为 PDF。我使用 toDataURL。像这样;

保存没有对象的按钮工作并保存画布图像。但是当我在舞台上运行带有对象的代码时,页面重新加载并且按钮不起作用。不保存画布图像

0 投票
3 回答
262 浏览

javascript - 使用 React Konva 时隐藏下载的透明图像

我想只下载木瓜鞭方盒子,后面没有透明图片。

不要下载透明图片

我正在使用 React Konva。我有以下代码:

Codesandbox → https://codesandbox.io/s/add-padding-to-centered-canvas-with-sidebar-gqhhl?file=/src/App.tsx

如何只下载 papayawhip 矩形部分?