Heim > Artikel > Web-Frontend > Code zum Zeichnen von Smileys mit Canvas in HTML5
In diesem Artikel wird hauptsächlich das Tutorial zur Verwendung von Canvas in HTML5 zum Zeichnen eines lächelnden Gesichts vorgestellt. Die Verwendung von Canvas zum Zeichnen ist eine Grundfunktion in HTML5. Freunde, die es benötigen, können darauf zurückgreifen.
Heute. Sie erfahren etwas über eine Webtechnologie namens Canvas und wie sie mit dem Document Object Model (oft als DOM bezeichnet) zusammenhängt. Diese Technologie ist sehr leistungsstark, da sie es Webentwicklern ermöglicht, mithilfe von JavaScript auf HTML-Elemente zuzugreifen und diese zu ändern.
Jetzt fragen Sie sich vielleicht, warum wir JavaScript in so großem Umfang verwenden müssen. Kurz gesagt, HTML und JavaScript sind voneinander abhängig und einige HTML-Komponenten, wie zum Beispiel das Canvas-Element, können nicht unabhängig von JavaScript verwendet werden. Denn was nützt eine Leinwand, wenn wir nicht darauf zeichnen können?
Um dieses Konzept besser zu verstehen, versuchen wir, anhand eines Beispielprojekts ein einfaches Smiley-Gesicht zu zeichnen. Fangen wir an.
Starten
Erstellen Sie zunächst ein neues Verzeichnis zum Speichern Ihrer Projektdateien und öffnen Sie dann Ihren bevorzugten Texteditor oder Ihr bevorzugtes Webentwicklungstool. Sobald Sie dies getan haben, sollten Sie eine leere index.html und eine leere script.js erstellen, die wir später weiter bearbeiten werden.
Als nächstes ändern wir die Datei index.html, was nicht viel erfordert, da der größte Teil des Codes für unser Projekt in JavaScript geschrieben wird. Was wir in HTML tun müssen, ist ein Canvas-Element zu erstellen und auf script.js zu verweisen, was ziemlich einfach ist:
<!DOCTYPE html><body> <canvas id='canvas' width='640' height='480'></canvas> <script type='text/javascript' src='script.js'></script> </body></html>
Um es so zu erklären, verwende ich eine Reihe von Tags f4c4880127ae9dd2e05b78c78da182f8 und 1d6e7d87652dd104f173dbf7284e2799, auf diese Weise können wir dem Dokument weitere Elemente hinzufügen. Ich nutzte diese Gelegenheit und vervollständigte ein 640*480 großes Canvas-Element mit dem ID-Attribut „canvas“.
Dieses Attribut fügt dem Element einfach eine Zeichenfolge zur eindeutigen Identifizierung hinzu. Wir werden dieses Attribut später verwenden, um unser Canvas-Element in der JavaScript-Datei zu finden. Als Nächstes verweisen wir auf die JavaScript-Datei mithilfe des 3f1c4e4b6b16bbbd69b2ee476dc4f83a-Tags, das den JavaScript-Sprachtyp und den Pfad zur Datei script.js angibt.
DOM manipulieren
Wie der Name schon sagt, „Dokumentobjektmodell“, müssen wir auf das HTML-Dokument zugreifen, indem wir die Schnittstelle in einer anderen Sprache aufrufen. Die von uns verwendete Sprache ist JavaScript. Dazu müssen wir eine einfache Referenz auf das integrierte Dokumentobjekt platzieren. Dieses Objekt entspricht direkt unserem f4c4880127ae9dd2e05b78c78da182f8-Tag und ist gleichermaßen die Basis des gesamten Projekts, da wir über es auf Elemente zugreifen und Änderungen vornehmen können.
var canvas = document.getElementById('canvas');
Erinnern Sie sich, wie wir id="canvas" verwendet haben, um ein Canvas-Element zu definieren? Jetzt verwenden wir die Methode document.getElementById, um dieses Element aus dem HTML-Dokument abzurufen. Wir übergeben einfach die Zeichenfolge, die der erforderlichen Element-ID entspricht. Nachdem wir dieses Element nun erhalten haben, können wir mit dem Malen beginnen.
Um mit Leinwand zu zeichnen, müssen wir ihren Kontext manipulieren. Überraschenderweise enthält ein Canvas keine Methoden oder Eigenschaften zum Zeichnen, sein Kontextobjekt verfügt jedoch über alle Methoden, die wir benötigen. Eine Kontextdefinition lautet wie folgt:
var context = canvas.getContext('2d');
Je nach Zweck des Programms reicht nur ein zweidimensionaler Kontext aus Holen Sie sich alle Zeichenmethoden, die wir zum Erstellen eines Smileys benötigen.
Bevor wir beginnen, muss ich Sie darüber informieren, dass der Kontext zwei Farbeigenschaften speichert, eine für den Strich und eine für die Füllung. Für unser Smiley-Gesicht müssen wir die Füllung auf Gelb und den Pinsel auf Schwarz einstellen.
context.fillStyle = 'yellow'; context.strokeStyle = 'black';
Nachdem wir die für den Kontext erforderliche Farbe festgelegt haben, müssen wir einen Kreis für das Gesicht zeichnen. Leider gibt es im Kontext keine vordefinierte Methode für Kreise, daher müssen wir sogenannte Pfade verwenden. Ein Pfad besteht einfach aus einer Reihe verbundener Linien und Kurven. Der Pfad wird geschlossen, wenn die Zeichnung abgeschlossen ist.
context.beginPath(); context.arc(320, 240, 200, 0, 2 * Math.PI); context.fill(); context.stroke(); context.closePath();
So erklärt: Wir nutzen den Kontext, um einen neuen Weg zu beginnen. Als nächstes erstellen wir einen Bogen mit einem Radius von 200 Pixeln am Punkt (320, 240). Die letzten beiden Parameter geben den Anfangs- und Endwinkel für die Konstruktion des Bogens an. Daher übergeben wir 0 und 2 *Math.PI, um einen vollständigen Kreis zu erstellen. Schließlich verwenden wir den Kontext, um den Pfad basierend auf der von uns festgelegten Farbe zu füllen und zu zeichnen.
Obwohl das Schließen des Pfads nicht erforderlich ist, damit das Skript funktioniert, müssen wir den Pfad dennoch schließen, damit wir mit dem Zeichnen der neuen Augen und des neuen Munds des Smileys beginnen können. Die Augen können auf die gleiche Weise bearbeitet werden, jedes Auge benötigt einen kleineren Radius und eine andere Position. Aber zuerst müssen wir daran denken, die Füllfarbe auf Weiß zu setzen.
context.fillStyle = 'white'; context.beginPath(); context.arc(270, 175, 30, 0, 2 * Math.PI); context.fill(); context.stroke(); context.closePath(); context.beginPath(); context.arc(370, 175, 30, 0, 2 * Math.PI); context.fill(); context.stroke(); context.closePath();
Das Obige ist der gesamte Code für die Augen. Jetzt ist der Mund sehr ähnlich, aber dieses Mal füllen wir den Bogen nicht aus, sondern unser Winkel wird als Halbkreis konfiguriert. Dazu müssen wir den Startwinkel auf Null und den Endwinkel auf -1 * Math.PI setzen. Denken Sie daran, die Pinselfarbe auf Rot einzustellen.
context.fillStyle = 'red'; context.beginPath(); context.arc(320, 240, 150, 0, -1 * Math.PI); context.fill() context.stroke(); context.closePath();
Herzlichen Glückwunsch
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Studium aller hilfreich ist. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
So zeichnen Sie Bilder mit js HTML5-Leinwand
HTML5- und CSS3-Code zur Realisierung der 3D-Anzeige von Produktinformationen
HTML5 Canvas implementiert das Zeichnen einer pixelbreiten dünnen Linie
Das obige ist der detaillierte Inhalt vonCode zum Zeichnen von Smileys mit Canvas in HTML5. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!