JavaScript/jQuery を使用してキャンバスのサイズを変更するにはどうすればよいですか?
CSS 関数を使用してサイズを変更し、それをキャンバス要素に適用すると、画像を引き伸ばすのと同じようにコンテンツが引き伸ばされます。
ストレッチをせずにこれをどうやって行うのでしょうか?
ベストアンサー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)
});
})();