2017-02-09 7 views
0

Ich schreibe ein Knoten-Addon, das HTML-Canvas-Bilddaten akzeptiert, die vom Typ Uint8ClampedArray sind. Ich möchte den Inhalt dieses Arrays ohne zusätzliche Kopie ändern.Wie schreibe ich in Uint8ClampedArray?

Der beste Kandidat ich gefunden habe, ist das v8::Object::Set method (v8 :: Object eine Klasse in Uint8ClampedArray der Vererbungshierarchie ist)

jedoch, dass Verfahren zu einem Handgriff erfordert v8 :: Context-Objekt als erstes Argument. Ich weiß nicht, wie ich das bekommen soll.

Ich habe github Repos durchsucht und Code innerhalb von Webkit gefunden, der Uint8ClampedArray-Zeiger direkt auf Raw-Array-Pointer überträgt. Dies scheint jedoch durch die öffentliche v8-API nicht möglich zu sein.

Antwort

0

Ok, habe es herausgefunden.

v8::Local<v8::Uint8ClampedArray> arr; 
unsigned char *data = (unsigned char *)arr->Buffer()->GetContents().Data();