HTML5 Canvas“Bleeding-effect”带有文字

时间:2013-02-19 22:51:55

标签: javascript asp.net html5-canvas

我在页面加载时隐藏了我的画布: -

 <canvas id="myCanvas" width="915" height="900" style="visibility :hidden; border : 2px double #000000;"></canvas>

Question 1:) 我想在按钮点击时显示它: - //提交按钮//

<asp:Button ID="Button6" BackColor="Silver" OnClientClick="store_memID(); document.getElementbyID('myCanvas').visibility = 'visible'; return false;" Style="margin-left: 20px" runat = "server" Text="Submit" Width="102px" Font-Bold="True" Height="28px" />

类似的东西,虽然这不起作用。不正确的语法是我的假设...任何想法?



(Question 2:) 此外,当我在画布上重新绘制时,一切都很好,但是当文本内容被重新打印时,它会变得有点“混乱”......扭曲。我想解决这个问题最简单的方法就是彻底擦除画布并重绘它。关于为什么'浑浊效应'及其解决方案的建议?

(Answer 2:) 在我的画布脚本开头添加canvas.width = canvas.width解决了出血效果。

然而,ctx.clearRect(0, 0, 915, 900);没有解决出血效果。

1 个答案:

答案 0 :(得分:1)

问题1:

除了我的评论之外,clearRect应该可以正常运行,假设您的代码正确无误。它比canvas.width = canvas.width;方法更优选,因为它更快一点。由于下面的第二点,我怀疑它不起作用。


问题2:

有几件事:

  1. 您在jsFiddle的样式属性的开头缺少引号(“)。

     <canvas id="myCanvas" width="915" height="900" style = border: 2px double #000000;"></canvas>
    
  2. 您正在引用画布“myCanvas”,但您还要创建一个名为canvas的新画布(引用相同的var)。

    var can = document.createElement("canvas")
    
  3. 隐藏“myCanvas”不会隐藏“画布”(假设你的代码是正确的 - 我对asp不太熟悉)。