2011-08-07 16 views
11

Bir tuval nesnesinden alınan içeriğe bazı yöntemler eklemek istiyorum. Örneğin bu prototip yöntemi bir kimlik matrisine dönüşümü sıfırlar herhangi bir 2D çizim bağlamda ekledi istiyorum:Tuval bağlamına prototip işlevlerini nasıl eklersiniz?

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

ve sonra o kadar

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

gibi 2D içeriği talep zaman Bağlam nesnesinde, otomatik olarak herhangi bir dönüşümü varsayılan duruma sıfırlamak için kullanılabilecek bir kimlik() yöntemi vardır. Ben söyleyerek benim prototip yöntemi ekleyebilirsiniz biliyorum:

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

Ama açıkça her zaman bunu yapmak zorunda ve bu yöntemi takmak gibi ben "Context.prototype.identity = function" sözdizimi tercih ediyorum Benim için otomatik olarak.

Meraklı bu çalışması gerekir

cevap

30

:

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