我在页面加载时隐藏了我的画布: -
<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);
没有解决出血效果。
答案 0 :(得分:1)
除了我的评论之外,clearRect
应该可以正常运行,假设您的代码正确无误。它比canvas.width = canvas.width;
方法更优选,因为它更快一点。由于下面的第二点,我怀疑它不起作用。
有几件事:
您在jsFiddle的样式属性的开头缺少引号(“)。
<canvas id="myCanvas" width="915" height="900" style = border: 2px double #000000;"></canvas>
您正在引用画布“myCanvas”,但您还要创建一个名为canvas的新画布(引用相同的var)。
var can = document.createElement("canvas")
隐藏“myCanvas”不会隐藏“画布”(假设你的代码是正确的 - 我对asp不太熟悉)。