Получение контекста холста из другого места в скрипте - PullRequest
0 голосов
/ 04 апреля 2011

У меня есть скрипт, который рисует изображение на холсте и позволяет людям рисовать линии на этом изображении. Я хочу получить контекст из другого места в скрипте (то есть заголовок, который имеет различные функции jQuery). Возможно ли это?

Я имею в виду что-то вроде:

Заголовок:

saveInfo = function ()
{
   //save all the inputs

   //get the context of the canvas so we can find some properties
}

clearInfo = function ()
{
   //clear the inputs

   //get the context of the canvas so we can clear it and redraw the main image
}

Включенный файл

<script type="text/javascript">
   //this is the script that produces the drawing functionality initially that I already have
</script>

Редактировать: Я понимаю, что это может показаться очевидным, чтобы приукрашивать всякий раз, когда кто-то рисует линию на холсте во включенном скрипте, который я добавляю в массив json, называемый paths. Мне нужно иметь возможность получить это в разделе сохранения.

Ответы [ 2 ]

1 голос
/ 04 апреля 2011
var context = document.getElementById("myCanvasId").getContext("2d");

... будет работать в любом месте вашего скрипта.

0 голосов
/ 04 апреля 2011

Вместо непосредственного доступа к холсту, почему бы не создать глобальные функции для выполнения желаемых семантических действий?Например:

saveInfo = function(){
 // save all the inputs
   var props = getContextProperties();
};

clearInfo = function(){
  // clear the inputs
  redrawCanvas();
};

$(function(){
  var canvas = $('canvas')[0];
  var ctx = canvas.getContext('2d');
  getContextProperties = function(){
    return { w:canvas.width, h:canvas.height };
  };
  redrawCanvas = function(){
    ctx.save();
    ctx.setTransform(1,0,0,1,0,0);
    ctx.clearRect(0,0,canvas.width,canvas.height);
    ctx.restore();
    ctx.beginPath();
    // ... 
  };
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...