【问题标题】:Is it possible to create transparent canvas是否可以创建透明画布
【发布时间】:2010-02-13 01:17:55
【问题描述】:

我正在使用 processing.js 在 javascript 中开发画笔应用程序 它正在使用画布对象。我想在画布的背景中保留一个图像。在前景中画一些东西。在保存时,我只需要获取前台数据。

为此,我们需要使画布对象透明,以便背景图像可见。

我没有看到任何使画布透明的选项。我该怎么做?

【问题讨论】:

  • 这个问题的正确答案是 Jared 的。为什么?因为原发帖人说他需要用ProcessingJS来完成,它将所有灰色背景的canvas元素渲染为default。他想覆盖这个默认行为。

标签: canvas processing.js


【解决方案1】:

更好的是,在你 pjs 的顶部放上:

/* @pjs transparent=true; */

...然后在你的绘图循环中:

background(0, 0, 0, 0);

瞧!

【讨论】:

  • 使用 ProcessingJS 时的正确答案。它也解决了我的问题。
【解决方案2】:

<canvas>默认是透明的。

我已经做了一个概念证明,可以在这里找到:

http://irae.pro.br/lab/canvas_pie_countdown/

针对 IE6、IE7、IE8、Firefox 2、Firefox 3、Chrome 和 iPhone 测试。

【讨论】:

  • 在使用其他画布库/API 时有效。请注意,原始海报说他需要使用 ProcessingJS 来完成,它将所有具有灰色背景的画布元素呈现为 default。他想覆盖这个默认行为。 Jared 的答案实际上是正确的。
  • 没问题。我也经常犯错误。 ;)
【解决方案3】:
context.clearRect(0,0,width, height) 

就是你所需要的 =)

请记住,您可以在画布对象上使用 CSS 样式。

canvas.style.position = "absolute";  
canvas.style.left = the x position of the div you're going over +"px";  
canvas.style.top = the y position of the div you're going over + "px";

【讨论】:

    【解决方案4】:

    为什么不把图像放在画布上,让你的笔触和填充透明?

    【讨论】:

      猜你喜欢
      • 2017-11-29
      • 1970-01-01
      • 2016-05-22
      • 2011-02-08
      • 2011-03-05
      • 1970-01-01
      • 2011-03-20
      • 2018-06-01
      • 1970-01-01
      相关资源
      最近更新 更多