Jeder vernünftige Implementierer würde nur eine Bitmap (intern im Browser gespeichert) verwenden und mit nativen OS-Zeichenbefehlen zeichnen.
Warum ist das wichtig? Es ist überhaupt nicht verwandt mit HTML + CSS, wenn Sie sich fragen.
Weitere Einzelheiten zum Detail willen:
Wenn der HTML-Parser des Browsers (mit einer bestimmten Breite & Höhe) ein Canvas-Element sieht es muss ein On-Screen pixmap zuzuweisen, diesen Bereich zu decken. Dies geschieht entweder manuell (d. H. Malloc()) oder es ruft eine native Zeichnungs-API des Betriebssystems auf, um eine Oberfläche zum Zeichnen zu erstellen. Die native OS-API kann Windows, Gtk, Kde, Qt oder jede andere Zeichnungsbibliothek sein, die der Implementierer des Browsers ausgewählt hat. Außerdem hängt es stark vom Betriebssystem ab. Internet Explorer ruft wahrscheinlich in einer Windows-systemeigenen Bibliothek (d. H. DirectX oder WinFooBarMethod()) auf.
Sobald die Zeichenoberfläche erstellt ist, wird sie für die internen Eingeweide des JavaScript-Interpreters zugänglich gemacht, wahrscheinlich über einen Zeiger oder ein Handle auf die konstruierte Zeichenoberfläche. Wenn dann der JS-Interpreter einen Aufruf einer der Canvas-Methoden sieht, wird daraus ein Aufruf an den entsprechenden nativen OS-Befehl.
Also, die Windows 3.1-Stil Metapher:
"new canvas(width, height)" = "WinCreatePixmap(width, height)"
"canvas.setPixel(x,y,color)" = "WinSetPixel(x,y,color)"
und mit einem manuell verwaltet pixmap:
"new canvas(width, height)" = "malloc(width * height * sizeof(Pixel))"
"canvas.setPixel(x,y,color)" = "canvas[x][y] = color;"
Auch hier sollte es nicht an die JavaScript-Entwickler aus, wie diese Methoden umgesetzt werden . Die einzigen Personen, die sich darum kümmern müssen, sind diejenigen, die HTML5-kompatible Webbrowser mit Canvas-Unterstützung schreiben.
Sie könnten den WebKit-Quellcode lesen: http://webkit.org/building/checkout.html – gahooa
Sind Sie ein Microsoft-Mitarbeiter? lol. –