问题标签 [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 投票
14 回答
84593 浏览

javascript - 在画布标签上绘制箭头

我想使用画布标签 javascript 绘制一个箭头。我已经使用二次函数完成了它,但是我在计算箭头的旋转角度时遇到了问题......

有人对此有任何线索吗?

谢谢

0 投票
4 回答
38863 浏览

html - 如何绘制 3D 球体?

我想在 HTML 5.0 画布中绘制一个 3D 球或球体。我想了解有关如何绘制 3D 球体的算法。谁能和我分享这个?

0 投票
17 回答
614607 浏览

javascript - 调整 HTML5 画布大小以适应窗口

如何自动缩放 HTML5<canvas>元素以适应页面?

例如,我可以<div>通过将heightandwidth属性设置为 100% 来缩放 a,但是 a<canvas>不会缩放,对吗?

0 投票
3 回答
14644 浏览

javascript - 网络工作者和画布

是否允许网络工作者访问画布对象?

0 投票
25 回答
1075980 浏览

javascript - 如何清除画布以进行重绘

在尝试了合成操作并在画布上绘制图像之后,我现在尝试删除图像并进行合成。我该怎么做呢?

我需要清除画布以重绘其他图像;这可能会持续一段时间,所以我不认为每次都绘制一个新的矩形是最有效的选择。

0 投票
5 回答
4156 浏览

javascript - 什么是 HTML5 画布?

我对 HTML5 画布是什么感到有些困惑。有人告诉我它是 JavaScript,但它似乎更重要?

  1. 是什么使它与 javascript 不同?

  2. 为什么这么神奇?

  3. 除了 JavaScript 之外,它还做其他事情吗?

0 投票
4 回答
19260 浏览

html - 如何保存 HTML5 画布?

目前我正在使用Canvas2Image来保存我的 HTML5 画布的内容。但是,它似乎不适用于 Google Chrome。欢迎任何关于如何解决该问题的想法。:)

0 投票
3 回答
4718 浏览

java - Android Canvas 中的复合操作

我刚开始进行 Android 开发,我来自 JavaScript/HTML 世界,所以我目前正在研究 Android SDK 的可能性。

HTML 5 画布支持复合操作(参见此处)。

这在 Android Canvas 中可行吗?我扫描了 Canvas 类的 API,但找不到任何有用的东西。我至少需要复合操作“source-in”或(如果不可能的话)“source-atop”。

0 投票
4 回答
3134 浏览

javascript - HTML5 Canvas:如何伪造 globalCompositeOperation="darker"

我已经用谷歌搜索了这个问题,我能找到的所有东西,包括在 StackOverflow 上,都是“大多数主流浏览器的支持都被破坏了。” 不是我的问题的实际解决方案。

本月的《花花公子》带着一副 3D 眼镜(红色/青色)来观看令人瞠目结舌的插页。自然地,我上网寻找我能找到的每一个红色/青色立体图,看看它们有多棒。最终我找到了一些动画 GIF,这让我产生了一个想法,也许我应该制作一些很酷的 HTML5 Canvas 东西,让你可以在 3D 场景中放置形状。

这就是我走多远。 仅适用于谷歌浏览器。在 Firefox 中,“高架文本”看起来应该是正确的,但不是矩形。

因此,我生成场景的方式是:有一些图层,每个图层都包含一个 Z 索引,您可以在任何您想要的图层上放置一个矩形或一些文本。这个概念很简单。绘制对象时,向左绘制一个 [Z-index] 像素为纯红色,然后向右绘制一个 [Z-index] 像素为纯青色。

理论上,重叠部分应该减去成为纯黑色。在 Chrome 中,填充矩形、描边文本会发生这种情况,但填充文本不会。在 Firefox 中,这只发生在描边文本上。

虽然预期的效果globalCompositeOperation="darker"应该完全符合我的要求,但很明显,沿着这条路走下去只会带来痛苦。

这里有没有人知道如何在不使用的情况下获得我想要的效果globalCompositeOperation?我尝试在颜色上弄乱 alpha 通道,但并不真正喜欢它是如何组合在一起的(它们从不加起来是纯黑色)。我可以在红色和青色之间绘制第三个黑色矩形,但这并不能解决文本或任意形状的问题。

我可以在 Javascript 中自己进行逐像素渲染,但这似乎有点矫枉过正。有什么想法吗?

0 投票
1 回答
9958 浏览

html - 奇怪的 HTML5 Canvas drawImage 行为

我正在编写一些使用 HTML5 画布的代码。一般来说它运作良好,但现在我发现了一个非常奇怪的行为。奇怪的是它在不同的浏览器上是一致的,所以一定是我理解错了……尽管文档似乎准确地说明了我在做什么。这是代码(它是一个对象方法):

在此之后,我将再次使用 jQuery 将此元素附加到页面中已经存在的 Div(它是空白的)。结果将是图像被过度拉伸,就像它的宽度的十倍......这很奇怪,因为根据我对 drawImage 的理解,它应该使用 w 和 h 值来缩放图像,并且假设 w 和 h 是画布的大小,它应该适合。

我究竟做错了什么?是因为我在渲染的 DOM 树上进行绘图吗?