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

質問1:

私のコメントに加えて、clearRectあなたのコードが正しいと仮定して動作するはずです。canvas.width = canvas.width;かなり速いので、この方法よりも好ましいです。以下の2点目で動作していないのではないかと思います。


質問2:

いくつかのこと:

  1. jsFiddleのスタイルプロパティの先頭に引用符( ")がありません。

      <canvas id="myCanvas" width="915" height="900" style = border: 2px double #000000;"></canvas>
    
  2. キャンバス「myCanvas」を参照していますが、canvasという新しいものも作成しています(同じ変数を参照しています)。

     var can = document.createElement("canvas")
    

「myCanvas」を非表示にしても「canvas」は非表示になりません(コードが正しいと仮定します-私はaspにあまり詳しくありません)。

于 2013-02-20T02:49:56.993 に答える