Was ist Canvas?
Obwohl es in Mozilla viele Tutorials zu Canvas gibt, habe ich beschlossen, meinen Lernprozess aufzuzeichnen. Wenn Sie der Meinung sind, dass das, was ich geschrieben habe, nicht klar genug ist, finden Sie in den Referenzen einen Link zum Canvas-Tutorial auf der Mozilla-Website.
Einige interessante Canvas-Beispiele finden Sie hier.
Erste Schritte mit Canvas
Die Verwendung von Canvas ist sehr einfach. Genau wie bei der Verwendung anderer HTML-Elemente müssen Sie der Seite nur ein
Firefox 3.0.x 的尴尬
Firefox 3.0.x 虽然支持了 canvas 元素,但是并没有完全按照规范来实现,规范中的 fillText、measureText 两个方法在 Firefox 3.0.x 中被几个 Firefox 特有的方法代替,因此在 Firefox 3.0.x 中使用 Canvas 时需要先 fix 这个几个方法在不同浏览器中的差别。
下面这代码取自 Mozilla Bespin 项目,它修正了 Firefox 3.0.x 中 Canvas 的 Context 对象与 HTML5 规范不一致的地方:
注意:到 Opera 9.5 为止,Opera 还不支持 HTML5 规范中 Canvas 对象的 fillText 以及其相关方法和属性。
Hello, Canvas!
在对 Canvas 进行了一些初步了解后,开始来写我们的第一个 Canvas 程序,闻名的 HelloWorld 的又一个分支“Hello, Canvas”:
Führen Sie das Beispiel aus und der Bereich, in dem sich das Canvas-Objekt befindet, zeigt „Hello, World!“ an. Genau das macht ctx.fillText("Hello, World!", 20, 20);
fillText und zugehörige Attribute
DiefillText-Methode wird zum Anzeigen von Text in Canvas verwendet. Sie kann vier Parameter akzeptieren, von denen der letzte optional ist:
void fillText(in DOMString text, in float x, in float y, [Optional] in float maxWidth);
wobei maxWidth die maximale Breite beim Anzeigen von Text darstellt, wodurch ein Überlaufen des Texts verhindert werden kann. Bei meinen Tests habe ich jedoch festgestellt, dass die Angabe von maxWidth in Firefox und Chomre keine Auswirkung hat.
Bevor Sie die fillText-Methode verwenden, können Sie die Schriftart des angezeigten Texts anpassen, indem Sie das Schriftartattribut des Kontexts festlegen. Im obigen Beispiel habe ich „20pt Arial“ als Schriftart des angezeigten Texts verwendet Schätzen Sie sich selbst. Schauen Sie sich die spezifischen Auswirkungen an.
Ende
Das war's fürs Erste, ich werde diese Serie schreiben, während ich die Spezifikationen lese:)
Referenzmaterialien
1. HTML5 Canvas, eine neue Stufe für Skriptsprachen, hred
3. Canvas-Tutorial Chinesisch, Mozilla