Подтвердить что ты не робот

Как добавить функции прототипа в контекст холста

Я хочу добавить некоторые методы в контекст, полученный из объекта 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(), доступный мне для reset любого преобразования обратно в состояние по умолчанию. Я знаю, что могу приложить свой прототип метода, сказав:

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

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

Любопытный

4b9b3361

Ответ 1

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

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