Как добавить функции-прототипы в контекст холста - PullRequest
12 голосов
/ 07 августа 2011

Я хочу добавить несколько методов в контекст, полученный из объекта canvas.Например, я хотел бы, чтобы этот метод-прототип был добавлен в любой контекст 2D-рисования, который сбрасывает преобразование в единичную матрицу:

Context.prototype.identity = function() {
  this.setTransform(1, 0, 0, 1, 0, 0);
}

, а затем всякий раз, когда я запрашиваю 2D-контекст, например,

var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");

У объекта контекста автоматически есть метод identity (), который позволяет мне вернуть любое преобразование в состояние по умолчанию.Я знаю, что могу прикрепить свой метод-прототип, сказав:

context.identity = function() { context.setTransform(1, 0, 0, 1, 0, 0); }

Но я должен делать это каждый раз явно, и я бы предпочел синтаксис «Context.prototype.identity = function», так как он прикрепитметод для меня автоматически.

Любопытно

1 Ответ

31 голосов
/ 07 августа 2011

это должно работать:

CanvasRenderingContext2D.prototype.identity = function() { 
    return this.setTransform(1, 0, 0, 1, 0, 0); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...