问题标签 [jcanvas]
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.
jquery - jquery的jcanvas插件——旋转后对象的x和y不变
我正在使用 jquery 的 jcanvas 插件的最新版本。当我旋转对象时,它的 x 和 y 应该改变,但它们没有。我应该调用一些方法来重置这些属性吗?我参考 jquery 和 jcanvas 省略了脚本标签,因为很明显它们在那里;)。
jquery - 旋转后计算新的 x 和 y 坐标
我正在围绕它的中心旋转一个 jCanvas 层,但之后我需要计算它的新 x 和 y 坐标。我正在使用下面的代码,尽管它返回错误的值:
对于简单的旋转 - 例如 90 度,我可以像这样得到新角的 x 和 y:
但是更复杂的情况呢?
编辑:
我找到了这个公式,但它只有在我顺时针旋转时才能正常工作。逆时针旋转呢?
jquery - 如何清除jCanvas中一组图层中的单个图层
我正在使用最新版本的 jCanvas。我的画布上有两层。我有一个绘制这 2 层的函数。每次调用该函数时,我都想清除一层并保持另一层完好无损,因为我在后者上绘制了一条曲线。如何使用 jCanvas 清除单个图层?我在 jCanvas 的文档中找不到关于清除图层的任何内容。
jquery - 如何在画布上选择形状并返回其名称?
我使用带有此功能的 jCanvas 库在画布上绘制了几个形状:
如您所见,每个形状都有自己独特的名称。我想创建一个函数,在我用鼠标单击它后返回所选形状的名称。我可以成功编辑名称已知的形状的属性,如下所示:
但不知道如何实现 shapeSelect() 函数,该函数通过单击返回现有形状的名称。
html - HTML 5 Canvas jCanvas/KineticJS 当图像可拖动时,画布/舞台对 iPad 上的点击/触摸无响应
我用 jCanvas 和 KineticJS 都试过了。当添加的图像可拖动时:
画布/舞台对 iPad 上的点击无响应。它识别点击/点击的唯一位置是在边框上。
有没有人遇到过类似的问题,您是如何解决的?
javascript - 为什么 jCanvas 绘制错误的像素?
我有一个像素图对象,每行包含一个列对象,其中包含颜色信息。然后我使用 选择颜色switch()
,然后将其简单地绘制到画布上。这是代码:
它绘制像素,但像素位置以某种方式缩放,尽管像素实际上只有 1px 大。我无法确定,它放大了多少。当我在画布上画了一段时间后,位置是正确的。有什么问题?
编辑:我在 jsFiddle 上重新创建了它:http: //jsfiddle.net/qyNTn/
javascript - jCanvas - 拉伸图像以适应高度,并让它在宽度上流动
我一直在试图弄清楚如何缩放图像/图案以填充画布的高度,但使用 jCanvas 去剪辑宽度。
我一直在尝试自己计算,但我糟糕的数学技能一直没有用。我也试过用谷歌搜索我的方式,但这也没有成功。
我想模仿“背景大小:自动 100%;”
代码:
jquery - jCanvas 的 clearCanvas 似乎不适用于图层
我已经将我的 jCanvas 代码组织成一个在 window.resize 上触发的渲染方法:
这绘制了这个图像:
目的是在调用 render 以清除整个画布时的第一步:
这是清除画布的两次单独尝试,但都不起作用。在没有清除画布的情况下,结果是这样的:
我有一个普遍的想法,这与图层有关,而不是直接绘制,但我很困惑为什么画布没有被清除......
TIA。
javascript - 两个 jcanvas 图层蒙版可以存在于同一个画布上吗?
是否可以在同一画布上创建两个独立的图层蒙版?我试过了,没有太大的成功。我怀疑这是由于遮罩影响了图层索引。我通过在鼠标悬停时启用屏蔽来突出显示这一点(请参见此处)。如果将鼠标悬停在图层蒙版上,其他图层蒙版就会消失。如果您将图层mask:true
作为属性绘制,则只会出现一个图层蒙版。您可能会想“为什么不为每个图层蒙版制作单独的画布?” 我不能,因为我打算使用$("canvas").getCanvasImage();
将画布渲染为复合 jpeg(这对于两个画布来说会很困难)。
最终目标将是一个垂直分成两个窗格的画布。每个窗格都将填充一个可拖动的图像。用户将移动窗格中的图像以“裁剪”它,然后将结果呈现为合成图像。这个例子很接近,但拖动右窗格下的绿色框会在该窗格中创建一个死区。
谢谢你的帮助。