web-dev-qa-db-fra.com

Définir la taille de la toile à l'aide de javascript

J'ai le code suivant en HTML:

<canvas  id="myCanvas" width =800 height=800>

Au lieu de spécifier width comme 800, je souhaite appeler la fonction JavaScript getWidth() pour obtenir la largeur, par exemple.

 <canvas  id="myCanvas" width =getWidth() height=800>

Quelle est la syntaxe correcte pour le faire? Parce que ce que je fais ne fonctionne pas.

35
Kyriacos Kafas

Vous pouvez définir la largeur comme ceci:

function draw() {
  var ctx = (a canvas context);
  ctx.canvas.width  = window.innerWidth;
  ctx.canvas.height = window.innerHeight;
  //...drawing code...
}
43
Luc CR
function setWidth(width) {
  var canvas = document.getElementById("myCanvas");  
  canvas.width = width;
}
21
bozdoz

Essaye ça:

var setCanvasSize = function() {
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
}
6
Forgot Vegas Hero

Essaye ça:

var w = window,
d = document,
e = d.documentElement,
g = d.getElementsByTagName('body')[0],
xS = w.innerWidth || e.clientWidth || g.clientWidth,
yS = w.innerHeight|| e.clientHeight|| g.clientHeight;
alert(xS + ' × ' + yS);

document.write ('')

fonctionne pour iframe et bien.

0
OpenRobotix.Com