JavaScript/jQuery でキャンバス ウィンドウのサイズを動的に変更するには? 質問する

JavaScript/jQuery でキャンバス ウィンドウのサイズを動的に変更するには? 質問する

JavaScript/jQuery を使用してキャンバスのサイズを変更するにはどうすればよいですか?

CSS 関数を使用してサイズを変更し、それをキャンバス要素に適用すると、画像を引き伸ばすのと同じようにコンテンツが引き伸ばされます。

ストレッチをせずにこれをどうやって行うのでしょうか?

http://jsfiddle.net/re8KU/4/

ベストアンサー1

描画を行う関数を作成し、何か変更が必要になったとき(ページのサイズ変更など)に再描画します。やってみて

context.canvas.width/heightを設定してくださいCSS の幅/高さではありません。また、サイズを設定するとキャンバスがクリアされることに注意してください。

書き方:

(function(){
    var c = $("#canvas"), 
        ctx = c[0].getContext('2d');

    var draw = function(){
        ctx.fillStyle = "#000";
        ctx.fillRect(10,10,50,50);   
    };

    $(function(){
        // set width and height
         ctx.canvas.height = 600;
         ctx.canvas.width = 600;
        // draw
        draw();

        // wait 2 seconds, repeate same process
        setTimeout(function(){
            ctx.canvas.height = 400;
            ctx.canvas.width = 400;
            draw();
        }, 2000)
    });
})();

おすすめ記事