Heim Web-Frontend H5-Tutorial HTML5-Canvas-Zeichnung – Verwenden Sie Canvas zum Zeichnen von Grafiken und Text-Tutorials. Verwenden Sie HTML5-Canvas, um wunderschöne Bilder zu zeichnen. HTML5-Tutorial-Fähigkeiten

HTML5-Canvas-Zeichnung – Verwenden Sie Canvas zum Zeichnen von Grafiken und Text-Tutorials. Verwenden Sie HTML5-Canvas, um wunderschöne Bilder zu zeichnen. HTML5-Tutorial-Fähigkeiten

May 16, 2016 pm 03:46 PM

HTML5 ist sehr beliebt. Vor Kurzem kam mir die Idee, HTML-bezogene Funktionen zu verwenden, daher sollte ich es sorgfältig lernen.

Nachdem ich mir die Funktionen von Canvas genau angesehen habe, habe ich das Gefühl, dass HTML5 in der clientseitigen Interaktion immer funktionaler wird. Heute habe ich einen Blick auf die Canvas-Zeichnung geworfen verwenden.

1. Zeichnen Sie mit Canvas eine gerade Linie:



XML/HTML-CodeInhalt in die Zwischenablage kopieren
  1. >  
  2. <html>  
  3.     <Kopf>  
  4.         <meta charset="UTF- 8">  
  5.     Kopf>  
  6.     <Stil Typ="text/ css">  
  7.         canvas{border:dashed 2px #CCC}   
  8.     Stil>  
  9.     <Skript Typ="text/ Javascript">  
  10.         Funktion $$(id){   
  11.             return document.getElementById(id);   
  12.         }   
  13.         function pageLoad(){   
  14.             var can = $$('can');   
  15.             var cancans = can.getContext('2d');   
  16.             cans.moveTo(20,30);//第一个起点   
  17.             cans.lineTo(120,90);//第二个点   
  18.             cans.lineTo(220,60);//第三个点(以第二个点为起点)   
  19.             cans.lineWidth=3;   
  20.             cans.StrokeStyle = 'red';   
  21.             cans.Stroke();   
  22.         }
  23.  Skript> 
  24.  <body onload="pageLoad( );">
  25.  <Leinwand id="can" Breite="400px" Höhe="300px">4Leinwand>
  26.  Körper> 
  27. html>

Die beiden hier verwendeten API-Methoden moveTo und lineTo sind die Startpunkt- bzw. Endpunktkoordinaten des Liniensegments. Die Variablen sind (X-Koordinate, Y-Koordinate), StrokeStyle und Stroke bzw. Pfadzeichnungsstil und Zeichnungspfad.

2. Zeichnen Sie Verlaufslinien

Verlaufslinien haben einen Farbverlaufseffekt. Natürlich kann der Verlaufsstil der Richtung des Pfades folgen oder nicht:

XML/HTML-CodeInhalt in die Zwischenablage kopieren
  1. >  
  2. <html>  
  3.     <Kopf>  
  4.         <meta charset="UTF- 8">  
  5.     Kopf>  
  6.     <Stil Typ="text/ css">  
  7.         canvas{border:dashed 2px #CCC}   
  8.     Stil>  
  9.     <Skript Typ="text/ Javascript">  
  10.         Funktion $$(id){   
  11.             return document.getElementById(id);   
  12.         }   
  13.         function pageLoad(){   
  14.             var can = $$('can');   
  15.             var cancans = can.getContext('2d');   
  16.             cans.moveTo(0,0);   
  17.             cans.lineTo(400,300);   
  18.             var gnt1 = cans.createLinearGradient(0,0,400,300);//线性渐变的起止坐标   
  19.             gnt1.addColorStop(0,'red');//创建渐变的开始颜色,0表示偏移量,个人理解为直线上的相对位置, 最大为1, 一个渐变中可以写任意个渐变颜色   
  20.             gnt1.addColorStop(1,'gelb');   
  21.             cans.lineWidth=3;   
  22.             cans.StrokeStyle = gnt1;   
  23.             cans.Stroke();   
  24.         }
  25.  Skript> 
  26.  <body onload="pageLoad( );">
  27.  <Leinwand id="can" Breite="400px" Höhe="300px">4Leinwand>
  28.  Körper> 
  29. html>

3. Zeichnen Sie ein Rechteck oder Quadrat:

Wenn Sie HTML4 verwenden, kann diese Art von rechteckigem Rahmen nur mit dem Hintergrundcode generiert werden. Jetzt kann die von HTML5 bereitgestellte Canvas-Funktion einfach gezeichnet werden, sodass die Vorteile von HTML5 recht groß sind.

XML/HTML-CodeInhalt in die Zwischenablage kopieren
  1. >  
  2. <html>  
  3.     <Kopf>  
  4.         <meta charset="UTF- 8">  
  5.     Kopf>  
  6.     <Stil Typ="text/ css">  
  7.         canvas{border:dashed 2px #CCC}   
  8.     Stil>  
  9.     <Skript Typ="text/ Javascript">  
  10.         Funktion $$(id){   
  11.             return document.getElementById(id);   
  12.         }   
  13.         function pageLoad(){   
  14.             var can = $$('can');   
  15.             var cancans = can.getContext('2d');   
  16.             cans.fillStyle = 'gelb';   
  17.             cans.fillRect(30,30,340,240);   
  18.         }   
  19.     Skript>  
  20.     <body onload="pageLoad( );">  
  21.         <Leinwand id="can"  Breite="400px" Höhe="300px">4Leinwand>   
  22.     Körper>  
  23. html>  

Hier wird eine Methode verwendet - fillRect(). Anhand der wörtlichen Bedeutung können Sie erkennen, dass es sich hierbei um das Füllen eines Rechtecks ​​handelt. Die Parameter hier sind eine Erklärung wert das Gleiche wie die Koordinaten in der Mathematik. Weitere Informationen finden Sie unter

X und Y beginnen hier am Startpunkt relativ zur oberen linken Ecke der Leinwand, denken Sie daran! !

4. Zeichnen Sie ein einfaches rechteckiges Feld

Im obigen Beispiel geht es darum, einen rechteckigen Block zu zeichnen und ihn mit Farbe zu füllen. In diesem Beispiel wird einfach ein Rechteck gezeichnet, ohne den Fülleffekt zu bemerken.

XML/HTML-CodeInhalt in die Zwischenablage kopieren
  1. >  
  2. <html>  
  3.     <Kopf>  
  4.         <meta charset="UTF- 8">  
  5.     Kopf>  
  6.     <Stil Typ="text/ css">  
  7.         canvas{border:dashed 2px #CCC}   
  8.     Stil>  
  9.     <Skript Typ="text/ Javascript">  
  10.         Funktion $$(id){   
  11.             return document.getElementById(id);   
  12.         }   
  13.         function pageLoad(){   
  14.             var can = $$('can');   
  15.             var cancans = can.getContext('2d');   
  16.             cans.StrokeStyle = 'red';   
  17.             cans.strokeRect(30,30,340,240);   
  18.         }   
  19.     Skript>  
  20.     <body onload="pageLoad( );">  
  21.         <Leinwand id="can"  Breite="400px" Höhe="300px">4Leinwand>   
  22.     Körper>  
  23. html>  
  24.   

Dies ist sehr einfach, genau wie im obigen Beispiel. Ersetzen Sie einfach die Füllung durch einen Strich. Weitere Informationen finden Sie im obigen Beispiel.

5. Zeichnen Sie ein Rechteck mit linearem Farbverlauf

Verlauf ist ein ziemlich guter Fülleffekt. Durch die Kombination von Beispiel 2 und Beispiel 3 können wir ein Verlaufsrechteck erstellen

XML/HTML-CodeInhalt in die Zwischenablage kopieren
  1. >  
  2. <html>  
  3.     <Kopf>  
  4.         <meta charset="UTF- 8">  
  5.     Kopf>  
  6.     <Stil Typ="text/ css">  
  7.         canvas{border:dashed 2px #CCC}   
  8.     Stil>  
  9.     <Skript Typ="text/ Javascript">  
  10.         Funktion $$(id){   
  11.             return document.getElementById(id);   
  12.         }   
  13.         function pageLoad(){   
  14.             var can = $$('can');   
  15.             var cancans = can.getContext('2d');   
  16.             var gnt1 = cans.createLinearGradient(10,0,390,0);   
  17.             gnt1.addColorStop(0,'red');   
  18.             gnt1.addColorStop(0.5,'green');   
  19.             gnt1.addColorStop(1,'blue');   
  20.             cans.fillStyle = gnt1;   
  21.             cans.fillRect(10,10,380,280);   
  22.         }
  23.  Skript> 
  24.  <body onload="pageLoad( );">
  25.  <Leinwand id="can" Breite="400px" Höhe="300px">4Leinwand>
  26.  Körper> 
  27. html>

Keine Erklärung, denken Sie einfach an fillRect(X,Y,Width,Height).

6. Füllen Sie einen Kreis


Kreisformen werden häufig verwendet, darunter auch Ovale.

XML/HTML-CodeInhalt in die Zwischenablage kopieren
  1. >  
  2. <html>  
  3.     <Kopf>  
  4.         <meta charset="UTF- 8">  
  5.     Kopf>  
  6.     <Stil Typ="text/ css">  
  7.         canvas{border:dashed 2px #CCC}   
  8.     Stil>  
  9.     <Skript Typ="text/ Javascript">  
  10.         Funktion $$(id){   
  11.             return document.getElementById(id);   
  12.         }   
  13.         function pageLoad(){   
  14.             var can = $$('can');   
  15.             var cancans = can.getContext('2d');   
  16.             cans.beginPath();   
  17.             cans.arc(200,150,100,0,Math.PI*2,true);   
  18.             cans.closePath();   
  19.             cans.fillStyle = 'green';//本来这里最初使用的是red,截图一看,傻眼了,怕上街被爱国者打啊,其实你懂的~~   
  20.             cans.fill();   
  21.         }
  22.  Skript> 
  23.  <body onload="pageLoad( );">
  24.  <Leinwand id="can" Breite="400px" Höhe="300px">4Leinwand>
  25.  Körper> 
  26. html>

Die Verwendung der Bogenmethode hier ist arc(X,Y,Radius,startAngle,endAngle,gegen den Uhrzeigersinn), was bedeutet (X-Koordinate des Kreismittelpunkts, Y-Koordinate des Kreismittelpunkts, Radius, Startwinkel (Bogenmaß), Endwinkel Bogenmaß, ob nach Zeichnung im Uhrzeigersinn);

Vergleich der Parameter im Bogen:

a.cans.arc(200,150,100,0,Math.PI,true);

c, cans.arc(200,150,100,0,Math.PI/2,true);

c, cans.arc(200,150,100,0,Math.PI/2,true);

d, cans.arc(200,150,100,0,Math.PI/2,false);

7. Rundblock

XML/HTML-CodeInhalt in die Zwischenablage kopieren
  1. >  
  2. <html>  
  3.     <Kopf>  
  4.         <meta charset="UTF- 8">  
  5.     Kopf>  
  6.     <Stil Typ="text/ css">  
  7.         canvas{border:dashed 2px #CCC}   
  8.     Stil>  
  9.     <Skript Typ="text/ Javascript">  
  10.         Funktion $$(id){   
  11.             return document.getElementById(id);   
  12.         }   
  13.         function pageLoad(){   
  14.             var can = $$('can');   
  15.             var cancans = can.getContext('2d');   
  16.             cans.beginPath();   
  17.             cans.arc(200,150,100,0,Math.PI*2,false);   
  18.             cans.closePath();   
  19.             cans.lineWidth = 5;   
  20.             cans.StrokeStyle = 'red';   
  21.             cans.Stroke();   
  22.         }
  23.  Skript> 
  24.  <body onload="pageLoad( );">
  25.  <Leinwand id="can" Breite="400px" Höhe="300px">4Leinwand>
  26.  Körper> 
  27. html>

Ich werde es hier nicht erklären. Wie im obigen Beispiel steuert lineWidth die Breite der Linie.

8. Kreisförmiger Farbverlauf

XML/HTML-CodeInhalt in die Zwischenablage kopieren
  1. >  
  2. <html>  
  3.     <Kopf>  
  4.         <meta charset="UTF- 8">  
  5.     Kopf>  
  6.     <Stil Typ="text/ css">  
  7.         canvas{border:dashed 2px #CCC}   
  8.     Stil>  
  9.     <Skript Typ="text/ Javascript">  
  10.         Funktion $$(id){   
  11.             return document.getElementById(id);   
  12.         }   
  13.         function pageLoad(){   
  14.             var can = $$('can');   
  15.             var cancans = can.getContext('2d');   
  16.             var gnt = cans.createRadialGradient(200,300,50,200,200,200);   
  17.             gnt.addColorStop(1,'red');   
  18.             gnt.addColorStop(0,'green');   
  19.             cans.fillStyle = gnt;   
  20.             cans.fillRect(0,0,800,600);   
  21.         }
  22.  Skript> 
  23.  <body onload="pageLoad( );">
  24.  <Leinwand id="can" Breite="800px" Höhe="600px">4Leinwand>
  25.  Körper> 
  26. html>

Was hier erklärt werden muss, ist die Methode createRadialGradient. Die Parameter sind (Xstart, Ystart, radiusStart, XEnd, YEnd, radiusEnd). Originalkreis und der andere Es ist ein Verlaufskreis. Tatsächlich können mit dieser Methode der Koordinaten- und Radiussteuerung viele Stile erreicht werden, z. B.

Dreidimensionaler Kreis

XML/HTML-CodeInhalt in die Zwischenablage kopieren
  1. var gnt = cans.createRadialGradient(200,150,0,200,50,250);
  2. gnt.addColorStop(0,'red');
  3. gnt.addColorStop(1,'#333');
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie füge ich meiner HTML5 -Website Audio hinzu? Wie füge ich meiner HTML5 -Website Audio hinzu? Mar 10, 2025 pm 03:01 PM

In diesem Artikel wird erläutert, wie Audio in HTML5 mit dem & lt; audio & gt; Element, einschließlich Best Practices für die Formatauswahl (MP3, OGG Vorbis), Dateioptimierung und JavaScript -Steuerung für die Wiedergabe. Es betont die Verwendung von mehreren Audio f f

Wie verwende ich HTML5 -Formulare für Benutzereingaben? Wie verwende ich HTML5 -Formulare für Benutzereingaben? Mar 10, 2025 pm 02:59 PM

In diesem Artikel wird erläutert, wie HTML5 -Formulare erstellt und validiert werden. Es beschreibt die Form & gt; Element, Eingabetypen (Text, E -Mail, Nummer usw.) und Attribute (erforderlich, Muster, min, max). Die Vorteile von HTML5 -Formen gegenüber älteren Methoden, inkl.

Wie gehe ich mit der Privatsphäre und Berechtigungen des Benutzer Ort mit der Geolocation -API um? Wie gehe ich mit der Privatsphäre und Berechtigungen des Benutzer Ort mit der Geolocation -API um? Mar 18, 2025 pm 02:16 PM

In dem Artikel wird die Verwaltung der Privatsphäre und Berechtigungen des Benutzerstandorts mithilfe der Geolocation -API erörtert, wobei die Best Practices für die Anforderung von Berechtigungen, die Gewährleistung der Datensicherheit und die Einhaltung der Datenschutzgesetze hervorgehoben werden.

Wie benutze ich die API der HTML5 -Seite Sichtbarkeit, um zu erkennen, wann eine Seite sichtbar ist? Wie benutze ich die API der HTML5 -Seite Sichtbarkeit, um zu erkennen, wann eine Seite sichtbar ist? Mar 13, 2025 pm 07:51 PM

In dem Artikel werden die Sichtbarkeits -API der HTML5 -Seite mit der Sichtbarkeit von Seiten ermittelt, die Benutzererfahrung verbessert und die Ressourcennutzung optimiert. Zu den wichtigsten Aspekten gehören die Pause, die Verringerung der CPU -Last und die Verwaltung von Analysen auf der Grundlage von Sichtbarkeitsänderungen.

Wie verwende ich Ansichtsfenster -Meta -Tags, um die Seite zu steuern, die auf mobilen Geräten skaliert wird? Wie verwende ich Ansichtsfenster -Meta -Tags, um die Seite zu steuern, die auf mobilen Geräten skaliert wird? Mar 13, 2025 pm 08:00 PM

In dem Artikel werden die Meta-Tags mit Ansichtsfenster besprochen, um die Seite zu steuern, die auf mobilen Geräten skaliert und sich auf Einstellungen wie Breite und initiale Maßstäbe für optimale Reaktionsfähigkeit und Leistung konzentriert.Character Count: 159

Wie erstelle ich interaktive Spiele mit HTML5 und JavaScript? Wie erstelle ich interaktive Spiele mit HTML5 und JavaScript? Mar 10, 2025 pm 06:34 PM

In diesem Artikel werden interaktive HTML5 -Spiele mit JavaScript erstellt. Es umfasst das Spieldesign, die HTML -Struktur, das CSS -Styling, die JavaScript -Logik (einschließlich Ereignisbearbeitung und -animation) und die Audio -Integration. Essentielle JavaScript -Bibliotheken (Phaser, PI

Wie verwende ich die HTML5 -Drag & Drop -API für interaktive Benutzeroberflächen? Wie verwende ich die HTML5 -Drag & Drop -API für interaktive Benutzeroberflächen? Mar 18, 2025 pm 02:17 PM

In dem Artikel wird erläutert, wie die HTML5 -Drag & Drop -API verwendet wird, um interaktive Benutzeroberflächen zu erstellen, Schritte zu detaillieren, um Elemente draggierbar zu machen, Schlüsselereignisse zu verarbeiten und Benutzererfahrung mit benutzerdefiniertem Feedback zu verbessern. Es wird auch gemeinsame Fallstricke zu a diskutiert

Wie verwende ich die HTML5 WebSockets -API für die bidirektionale Kommunikation zwischen Client und Server? Wie verwende ich die HTML5 WebSockets -API für die bidirektionale Kommunikation zwischen Client und Server? Mar 12, 2025 pm 03:20 PM

In diesem Artikel werden die HTML5 WebSockets-API für die Kommunikation zwischen bidirektionaler Client-Server in Echtzeit erläutert. Es werden clientseitige (JavaScript) und serverseitige (Python/Flask) -implementierungen beschrieben, die Herausforderungen wie Skalierbarkeit, staatliches Management, ein

See all articles