Установить размер холста с помощью JavaScript - PullRequest
41 голосов
/ 12 февраля 2012

У меня есть следующий код в HTML:

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

Я хочу вместо указания width как 800 вызвать функцию JavaScript getWidth() для получения ширины, например

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

Какой правильный синтаксис для этого? Потому что то, что я делаю, не работает.

Ответы [ 5 ]

47 голосов
/ 12 февраля 2012

Вы можете установить ширину следующим образом:

function draw() {
  var ctx = (a canvas context);
  ctx.canvas.width  = window.innerWidth;
  ctx.canvas.height = window.innerHeight;
  //...drawing code...
}
25 голосов
/ 12 февраля 2012
function setWidth(width) {
  var canvas = document.getElementById("myCanvas");  
  canvas.width = width;
}
7 голосов
/ 18 августа 2016

Попробуйте это:

var setCanvasSize = function() {
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
}
1 голос
/ 30 июля 2015

Попробуйте:

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 ('')

работает для iframe и well.

0 голосов
/ 20 декабря 2014

Вы также можете использовать этот скрипт, просто измените высоту и ширину

<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");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...