


html5 Canvas-Zeichen-Tutorial (2) – Zeichnen von geraden Linien und Festlegen von Linienstilen wie Farbe/Endpunkt/Schnittpunkt_html5-Tutorial-Fähigkeiten
Wenn Sie immer noch nicht wissen, was Canvas ist, können Sie den vorherigen Artikel lesen Beim Zeichnenlernen sind Linien am grundlegendsten, und durch die Verbindung von Linien können beliebige Grafiken entstehen. Dasselbe gilt auch für Canvas.
Bevor wir beginnen, nehmen wir die Leinwand und die Pinsel heraus:
var ctx = cvs.getContext('2d'); // Brush
Aber es hat keinen Sinn, herumzuhängen, wir müssen mit dem Zeichnen beginnen. Zeichnen wir zuerst die einfachste: eine gerade Linie.
Die Methode zum Zeichnen einer geraden Linie ist lineTo. Ihre Parameter sind die gleichen wie moveTo, was ein Punkt ist.
ctx.lineTo(x,y) Wenn Sie eine Linie zeichnen, bewegt sich natürlich auch der Schreibpunkt, sodass der Schreibpunkt nach lineTo zum Zielpunkt wird.
ctx.lineTo(200,100);
Schüler, die PS verwendet haben, kennen auf jeden Fall die beiden Grafikmodi: Füllen und Strich. Nachdem wir nun eine Linie gezeichnet haben, entspricht dies dem Zeichnen eines Pfads in PS. Zu diesem Zeitpunkt können wir den Rand des Pfads zeichnen und die Grafiken werden angezeigt.
Die Canvas-Strichmethode ist Stroke(). Vervollständigen wir nun den Code:
ctx.lineTo(200,100);
ctx.lineTo(200,100);
ctx.lineTo(100,100); ;
ctx.Stroke();
Hier zeichnen wir zuerst den gesamten Pfad und streichen ihn dann auf einmal.
——–Beschwerde des Autors: Ein Nachteil des Canvas-Zeichnens besteht darin, dass es im Wesentlichen auf Vermutungen basiert, was sehr unintuitiv ist.
Aus der obigen Grafik können wir ersehen, dass die Standardlinienstärke 1 Pixel beträgt und die Linienfarbe Schwarz ist. Natürlich können wir sie festlegen, aber das Seltsame ist, dass das Festlegen der Linienbreite lineWidth ist, das Festlegen des Linienstils jedoch StrokeStyle. Ich weiß es auch nicht. :
Der obige Code legt die Linienbreite auf 10 Pixel und die Linienfarbe auf durchscheinendes Rot fest.
Frage: Wenn der rechteckige Pfad, den ich zeichne, eine Breite und Höhe von 100 hat und meine Seitenlinienbreite 10 Pixel beträgt, wie groß ist dann die Gesamtbreite und -höhe des Rechtecks mit den gezeichneten Seiten? Ist es 100 10*2=120?
Wenn die Kante vollständig außerhalb des Pfads gezeichnet wird, beträgt sie 120. Aber Canvas ist es nicht. Alle Linien in Canvas haben eine „Mittellinie“, die sich in der absoluten Mitte der Linie befindet. Die Striche der Linie erstrecken sich von der Mittellinie zu beiden Seiten. Wenn Ihre Linienbreite beispielsweise 1 beträgt, liegt die Mittellinie bei 0,5. Wenn die Breite 5 beträgt, liegt die Mittellinie bei 2,5. Beim Streichen der Leinwandgrafiken wird der Pfad an der Mittellinie der Linie ausgerichtet und dann gestrichen. Wie in Abbildung 2 dargestellt:
Beim Nachzeichnen befindet sich also die Hälfte der Linie außen und die Hälfte innen. Das heißt, die Gesamtbreite des obigen Rechtecks beträgt 100 (10/2)*2, was 110 entspricht.
Aus diesem Grund sind die Ecken oben links abgesplittert. Weil hier niemand malt.
Aber warum sind die restlichen Ecken nicht eingekerbt? Sieht es nicht so aus, als gäbe es in allen vier Ecken Ihres Bildes Lücken?
Das liegt daran, dass ich den Pinsel beim Zeichnen der Linie nicht „angehoben“ habe. Der Pinsel war durchgehend, das heißt, es gab kein moveTo. Wenn Sie es nicht glauben, gehen wir jetzt weiter:
ctx.lineTo(200,100);
ctx.moveTo(200,100); //Achtung hier
ctx.lineTo(200,200); 🎜>ctx.lineTo(100,200);
ctx.lineTo(100,100);
ctx.lineWidth = 10;
ctx.StrokeStyle = 'rgba(255,0,0,0.5)'; >ctx.Stroke();
Wir haben uns vor dem Zeichnen der zweiten Linie bewegt und die Koordinaten von moveTo haben sich nicht geändert. Es war immer noch derselbe Punkt, aber nach dem Aktualisieren sah das Diagramm so aus [. Bild 3]:
Verstanden? Weil wir den Stift erhoben haben. Jetzt löschen wir moveTo und machen uns keine Gedanken mehr darüber, wie wir die fehlende Ecke in der oberen linken Ecke füllen können.
Falsch! Dadurch fällt nur der letzte Punkt des Pfades mit dem Startpunkt zusammen, der Pfad selbst ist jedoch nicht geschlossen!
Wie schließe ich den Pfad in Canvas? Verwenden Sie closePath().
ctx.closePath( );//Geschlossener Pfad
ctx.lineWidth = 10;
ctx.StrokeStyle = 'rgba(255,0,0,0.5)';
ctx.Stroke(); >
Aktualisieren Sie es zu diesem Zeitpunkt und es wird ein perfektes Quadrat sein. Abbildung 4:
Egal wie dick wir die Linien machen – je dicker die Linien, desto mehr Leute mögen sie, oder? ————Die vier Ecken dieses Quadrats sind regelmäßige rechte Winkel und werden nicht abgerundet. Was ist mit den abgerundeten Ecken? Schauen Sie sich bitte den quadratischen Strich in PS an, Abbildung 5:
Wie Sie sehen können, ist der Bogen seiner Ecken umso größer, je dicker die Kante ist.
Wenn ich möchte, dass die Kanten in Canvas mit denen in PS übereinstimmen, gibt es eine Möglichkeit? Natürlich ist es das lineJoin-Attribut.
lineJoin, was den Schnittpunkt von Linien bedeutet, hat drei Attribute: Mitre (Standard, scharfe Ecke), Bevel (Bevel), Round (abgerundete Ecke), wie in Abbildung 6 gezeigt:

Dort Zweifellos können wir sofort verstehen, dass unser Rechteck scharfe Ecken hat. Versuchen Sie also, es in abgerundete Ecken umzuwandeln:
Die Grafik sieht so aus, Abbildung 7:

Ein bisschen wie PS , Rechts?
Außerdem wissen wir aus dem vorherigen Bild, dass die Enden der Canvas-Linien flach sind. Kann das geändert werden? Schließlich ist es flach und sieht nicht gut aus.
ist ebenfalls möglich, also das lineCap-Attribut, das den Endpunkt der Linie definiert. lineCap hat 3 Werte: butt (flach, Standard), rund (Kreis), quadratisch (Quadrat), wie in Abbildung 8 gezeigt

Sie können anhand des Bildes herausfinden, dass es sich tatsächlich um einen flachen Kopf handelt und der quadratische Kopf sind gleich. Der einzige Unterschied besteht darin, dass der flache Kopf nicht so stark hervorsteht. Sowohl der runde Kopf als auch der quadratische Kopf ragen eine Weile heraus. Wie lang ist dieser Abschnitt? Das ist die halbe Breite der Linie.
Haben Sie an etwas gedacht? Haha, für das vorherige Problem mit geschlossenen Pfaden ist der Effekt derselbe, wenn wir lineCap auf einen quadratischen Kopf setzen!
Aber aus Sicherheitsgründen müssen wir den Weg trotzdem sperren, denken Sie daran!
Ich möchte Sie auch daran erinnern: Ein geschlossener Pfad hat keine Endpunkte! Daher ist der Endpunktstil auf einem geschlossenen Pfad nicht sichtbar.
Außerdem: lineCap ist lineJoin etwas ähnlich, achten Sie darauf, sie nicht zu verwechseln.
Wenn Sie ein scharfes Auge haben und Pech haben, stellen Sie möglicherweise fest, dass die 1-Pixel-Linie manchmal nicht 1 Pixel breit ist, sondern breiter und verschwommen erscheint. Wie in Abbildung 9 gezeigt:

Herzlichen Glückwunsch! Sie sind auf einen Fehler gestoßen, der kein Fehler ist. Das ist etwas ganz Besonderes. Darüber werde ich im nächsten Artikel sprechen.

H5 verbessert die Erfahrung des Webbenutzers mit Multimedia -Support, Offline -Speicher und Leistungsoptimierung. 1) Multimedia -Unterstützung: H5 und Elemente vereinfachen die Entwicklung und verbessern die Benutzererfahrung. 2) Offline -Speicher: Webstorage und IndexedDB ermöglichen die Verstärkung der Erfahrung offline. 3) Leistungsoptimierung: Webworker und Elemente optimieren die Leistung, um den Bandbreitenverbrauch zu verringern.

Der HTML5 -Code besteht aus Tags, Elementen und Attributen: 1. Das Tag definiert den Inhaltstyp und ist von Winkelklammern umgeben, wie z. 2. Elemente bestehen aus Start -Tags, Inhalten und End -Tags wie Inhalten. 3. Attribute definieren Schlüsselwertpaare im Start-Tag und verbessern Funktionen, z. B.. Dies sind die grundlegenden Einheiten zum Aufbau von Webstruktur.

HTML5 ist eine Schlüsseltechnologie zum Aufbau moderner Webseiten und bietet viele neue Elemente und Funktionen. 1. HTML5 führt semantische Elemente wie usw. ein, die die Webseitenstruktur und die SEO verbessern. 2. Support Multimedia-Elemente und Einbetten von Medien ohne Plug-Ins. 3. Formulare verbessern neue Eingangstypen und Überprüfungseigenschaften und vereinfachen Sie den Überprüfungsprozess. 4. Bieten Sie Offline- und lokale Speicherfunktionen an, um die Leistung der Webseiten und die Benutzererfahrung zu verbessern.

Zu den Best Practices für den H5 -Code gehören: 1. Verwenden Sie korrekte DocType -Deklarationen und Zeichenkodierung; 2. Verwenden Sie semantische Tags; 3.. HTTP -Anfragen reduzieren; 4. Verwenden Sie asynchrone Laden; 5. Bilder optimieren. Diese Praktiken können die Effizienz, Wartbarkeit und Benutzererfahrung von Webseiten verbessern.

Webstandards und -technologien haben sich bisher aus HTML4, CSS2 und einfachem JavaScript entwickelt und haben erhebliche Entwicklungen erfahren. 1) HTML5 führt APIs wie Leinwand und Webstorage ein, die die Komplexität und Interaktivität von Webanwendungen verbessern. 2) CSS3 fügt Animations- und Übergangsfunktionen hinzu, um die Seite effektiver zu gestalten. 3) JavaScript verbessert die Entwicklungseffizienz und die Lesbarkeit der Code durch moderne Syntax von Node.js und ES6, wie z. B. Pfeilfunktionen und Klassen. Diese Änderungen haben die Entwicklung von Leistungsoptimierung und Best Practices von Webanwendungen gefördert.

H5 ist nicht nur die Abkürzung von HTML5, sondern auch ein breiteres Ökosystem der modernen Webentwicklungstechnologie: 1. H5 enthält HTML5, CSS3, JavaScript und verwandte APIs und Technologien; 2. Es bietet eine reichhaltigere, interaktive und reibungslose Benutzererfahrung und kann nahtlos auf mehreren Geräten ausgeführt werden. 3. Mit dem H5 -Technologie -Stack können Sie reaktionsschnelle Webseiten und komplexe interaktive Funktionen erstellen.

H5 und HTML5 beziehen sich auf dasselbe, nämlich HTML5. HTML5 ist die fünfte Version von HTML, die neue Funktionen wie semantische Tags, Multimedia -Support, Leinwand und Grafiken, Offline -Speicher und lokaler Speicher bietet, die Ausdrucksfähigkeit und Interaktivität von Webseiten verbessert.

H5REFERSTOHTML5, ApivotaltechnologyInwebdevelopment.1) HTML5IntroducesNewelementsandapisrich, Dynamicwebapplications.2) ITSUPP ortsmultimediaWitHoutPlugins, BETHINGINGUSEREXPERICERCROSSDEVICES.3) SEMANTICELEMENTSIMPROVEPENTENTENTENTRUCTENTRUCTELUREANDSEO.4) H5'SRespo


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool