0

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

 <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);并没有解决出血效应。

4

1 回答 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")
    

隐藏“myCanvas”不会隐藏“canvas”(假设您的代码是正确的 - 我对 asp 不太熟悉)。

于 2013-02-20T02:49:56.993 回答