如何将原型函数添加到画布上下文中

时间:2011-08-07 17:58:35

标签: javascript canvas

我想为从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 个答案:

答案 0 :(得分:31)

这应该有效:

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