问题标签 [html5-canvas]

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 回答
33171 浏览

html - 用画布缩放

在一个测试应用程序中,我有一个带有简单矩形的画布。每 100 毫秒调用一次draw方法。

正如您从代码中看到的那样,我正在使用鼠标滚轮来缩放所有内容。现在发生的事情是,一切都被缩放了,但是当矩形在 10px,10px 并且我将鼠标放在它上面时,矩形在缩放后不再位于鼠标下方。(这当然是正确的,因为所有单位都按比例放大。

但我想要的是,鼠标位置是“缩放动作的中心”,就像在谷歌地图中一样,所以缩放之前在鼠标下的内容,在之后也在鼠标下。我做了一些翻译尝试,但我不知道该怎么做。

提前致谢。

这是我的代码:

0 投票
1 回答
137 浏览

javascript - 我可以重新使用 html5 画布元素的转换吗?

想象一下,我想转换一个画布上下文坐标空间以包含某个边界框,并且我正在围绕它编写一个测试。

是否有可能真正“使用”上下文的转换,有点像这样:

或者有没有其他方法可以编写这个测试函数?

0 投票
7 回答
68043 浏览

javascript - 画布 getContext("2d") 返回 null

我已经尝试了几种不同的方法,但我一直遇到同样的错误。我之前已经将图像加载到画布上,但自从我几天前更新了 Safari 后,我遇到了错误。

我将发布我目前拥有的内容,但我尝试过使用 jQuery、html 的 onLoad 属性等。

ID 是正确的,并且对应于适当的 canvas 和 img 标签。但是,我一直在进步TypeError: 'null' is not an object (evaluating 'cvs.getContext'),而且似乎没有进一步发展。我确定这是一些 ID10T 错误,但我希望有人能给我一个线索,说明是什么原因造成的?谢谢你。

编辑:好的,所以这似乎<body onload="init()">现在可以使用。但是,它只是偶尔显示,如果我尝试跑掉init()或者$(document).ready()document.onload仍然没有运气,则会收到错误消息。有什么想法吗?

0 投票
3 回答
1976 浏览

javascript - 在这段代码中,我使用了 onload 函数,但它仍然没有在画布上显示图像,为什么???

0 投票
2 回答
755 浏览

math - 平滑缩放到画布的数学问题

对于所有的数学家,请阅读整个问题,这可以在没有任何 HTML5 知识的情况下回答:-)

我正在缩放(缩放)一个 HTML5 画布,我想用很多小步骤而不是一大步来做到这一点,以使 scrooling 看起来“流畅”。解释一下:

当我的目标是将画布总共缩放 20% 时,当用户转动滚轮时。现在我想把它分成20个小步骤。

我的问题是,由于画布的库受限,我只能使用 2d 上下文的 scale(xscale,yscale) 方法来执行此操作。所以我不能将单位设置为特定的大小,这样会很容易。我必须在每一步都使用一个因素,我不知道如何做到这一点。

所以我的画布的单位在第 1 步中是 100,我希望它们在第 20 步中为 130,中间有 19 个小步。

  1. oldscale:100,:因子:x,newscale:101
  2. oldscale:101,:因子:x,newscale:102
  3. oldscale:102,:因子:x,newscale:103

……

变量 i 现在是当前步数 (0-19)、总步数 (20) 和目标缩放百分比 (20)

这是我需要的一个非常简单的例子。主要问题是,我只能访问 X 并且我不能直接影响尺度。

任何人都可以帮忙吗?我希望我解释得很好。

0 投票
2 回答
894 浏览

history - HTML5画布的变化史

我正在使用画布开发基于 HTML5 的绘图应用程序,现在我想做所有画布更改的历史记录。我的意思是用户操作的历史。

我怎样才能做到这一点?

0 投票
1 回答
975 浏览

html - HTML5 图片库的标记

我正在努力将一些 Photoshop 组合移动到代码中,并且已经到了需要标记一个小的图像库区域的地步。它存在于侧边栏中,与页面上的内容没有直接关系。因此,我认为我不应该使用该<figure>元素,因为它应该用于支持现有内容。

关于如何标记的建议?简单的无序列表?

0 投票
1 回答
2341 浏览

html - 如何使用 html5 画布在图像上添加文本?

我想使用 HTML5 在图像上添加文本。如何才能做到这一点?

0 投票
3 回答
10320 浏览

javascript - HTML5 画布文本编辑

我有一个使用fillText(); 如何使其可编辑并将值读入变量的 HTML5 画布中填充的文本?文本必须在画布内,因为它将被写入一些复杂的多边形形状内。

0 投票
3 回答
1195 浏览

html - 如何删除 HTML5 Canvas 上填充和填充之间的空间?

我对 HTML 上一个填充和另一个填充之间的现有空间感到困扰。每个填充物都适合它们的斜面。我希望完全填满这条线,但有空间。

这是示例代码:

您可以看到黑色三角形之间的白线(空白)。实际上,三角形的点是由Flash的自动生成程序生成的,Flash可以无空格显示三角形,而HTML5不能。有没有人有删除那条线的想法?