81 votes

Définir la taille du canevas à l'aide de javascript

J'ai le code suivant en html :

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

Je veux, au lieu de spécifier le width comme 800 , appeler la fonction JavaScript getWidth() pour obtenir la largeur, par exemple

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

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

86voto

Luc CR Points 906

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...
}

48voto

bozdoz Points 4356
function setWidth(width) {
  var canvas = document.getElementById("myCanvas");  
  canvas.width = width;
}

14voto

Forgot Vegas Hero Points 111

Essaye ça:

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

1voto

OpenRobotix.Com Points 11

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.écrire('')

fonctionne pour iframe et bien.

-10voto

Supriadi Points 1

Vous pouvez également utiliser ce script, modifiez simplement la hauteur et la largeur

 <canvas id="Canvas01" width="500" height="400" style="border:2px solid #FF9933; margin-left:10px; margin-top:10px;"></canvas>

   <script>
      var canvas = document.getElementById("Canvas01");
      var ctx = canvas.getContext("2d");

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X