


html5 Canvas-Zeichen-Tutorial (3) – Der Grund, warum 1-Pixel-Linien in den Canvas_html5-Tutorial-Fähigkeiten unscharf sind
Fortsetzung des vorherigen Artikels Tutorial zum Zeichnen von Linien auf Leinwand
Wie wir letztes Mal erwähnt haben, weist die Leinwand manchmal 1-Pixel-Linien auf, die unscharf sind und breiter erscheinen, wie unten gezeigt:
Eine solche Linie ist offensichtlich nicht das, was wir wollen.
Der Zweck dieses Artikels besteht darin, das Prinzip zu klären und zu lösen.
Jeder weiß, dass die kleinste Anzeigegröße auf dem Bildschirm 1 Pixel beträgt. Obwohl Dinge, die kleiner als 1 Pixel sind, möglicherweise nicht angezeigt werden, ist es dem Computer egal, er wird versuchen, sie zu zeichnen.
Tatsächlich sind Pixel schließlich auch eine Einheit. Was würde passieren, wenn wir die Leinwand auf eine Größe vergrößern würden, die groß genug ist, um jedes Pixel deutlich zu sehen? Es sieht wahrscheinlich so aus:
Jedes Pixel hat einen Start- und einen Endbereich, wie in der Abbildung gezeigt. Ihr Bereich beginnt links, erstreckt sich über 1 Pixel und endet rechts.
Wenn wir beim Zeichnen einer 1-Pixel-Linie den Anfangs- und Endbereich der Pixel beachten, erhalten wir auf jeden Fall eine ganz normale dünne Linie. Wie folgt:
Aber leider ist die Strichzeichnungsmethode der Leinwand anders. Wie wir im vorherigen Artikel gesagt haben, hat jede Leinwandlinie eine unendlich dünne „Mittellinie“, und die Breite der Linie erstreckt sich von der Mittellinie zu beiden Seiten. Wenn wir immer noch eine Linie vom zweiten Pixel zeichnen, wird die Mittellinie der Linie am Startpunkt des zweiten Pixels ausgerichtet, und dann beginnen wir mit dem Zeichnen und es entsteht das Problem: Die Linie der Leinwand erstreckt sich auf beide Seiten Anstatt sich von der Mittellinie aus zu einer bestimmten Seite zu erstrecken (wenn sie sich hier beispielsweise nur nach rechts erstreckt, ist unser Problem kein Problem mehr), sieht unsere Linie nach der Verlängerung tatsächlich so aus:
Zu diesem Zeitpunkt gab es ein weiteres Problem: Der Computer erlaubt keine Grafiken, die kleiner als 1 Pixel sind, also ging er einen Kompromiss ein: Zeichnen Sie beide Pixel.
Auf diese Weise wird die ursprüngliche 1-Pixel-Linie zu einer Linie, die 2 Pixel breit aussieht.
Der Grund für den Fehler wurde gefunden: Die Linie im Canvas richtete die Mittellinie am Startpunkt des Pixels aus, nicht am Mittelpunkt des Pixels.
Wie lösen wir also dieses schmerzhafte Problem? Vielleicht hat sich schon jemand gedacht: Da die Ausgangspunkte der beiden unterschiedlich sind, machen wir ihre Ausgangspunkte gleich!
Wir müssen nur die Mittellinie der Linie am Mittelpunkt des Pixels ausrichten!
Der Mittelpunkt des Pixels ist leicht zu finden. Beispielsweise liegt der Mittelpunkt des zweiten Pixels gemäß der Erklärung auf dem Bild bei (x-0,5). )px.

Natürlich können Sie in weniger strengen Situationen auch x 0,5 verwenden.
Jetzt probieren wir unsere Forschungsergebnisse auf Leinwand aus.
ctx.moveTo(100.5, 100,5);
ctx.lineTo(200,5,100,5);
ctx.lineTo(100,5,200,5); ;
ctx.closePath();
ctx.lineWidth = 1;
ctx.StrokeStyle = 'rgba(255,0,0,0.5)'; >
Sieht richtig aus?
Aber es scheint, dass uns das beim Zeichnen der Grenze sehr verwirrt. Müssen wir jedes Mal diese deprimierenden 0,5 hinzufügen? Natürlich nicht, denn die meiste Zeit, in der wir Variablen zum Speichern von Werten verwenden, müssen wir nicht zu jedem Wert 0,5 hinzufügen Darüber hinaus müssen wir uns bei Zeilen mit lineWidth>1 darüber keine Sorgen machen: weil Nur wenn die Linienbreite 1 Pixel beträgt, ist dieses Problem am offensichtlichsten.

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

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Sie können die Fotos in Yitian Camera verwischen. Wie kann man die Fotos verwischen? Benutzer können auf „Bearbeiten“ klicken, um ein Foto auszuwählen, dann auf „Effekte“ klicken und „Unschärfe“ auswählen, um das Foto unscharf zu machen. Diese Einführung zum Verwischen von Fotos kann Ihnen den spezifischen Inhalt erklären. Im Folgenden finden Sie eine detaillierte Einführung. Schauen Sie sich das an! Anleitung zur Verwendung der Yitian-Kamera. Antwort: Gehen Sie zu Bearbeiten-Spezialeffekte-Unschärfe: 1. Öffnen Sie zuerst die App und klicken Sie unten links auf Bearbeiten. 2. Klicken Sie dann auf ein Bild und dann auf die Schaltfläche „Bearbeiten“. 3. Klicken Sie dann unten auf die Schaltfläche „Spezialeffekte“. 4. Die Unschärfefunktion finden Sie unten. 5. Wählen Sie dann die Vergrößerung der Unschärfe aus.

Manchmal ist das Hintergrundbild bei Verwendung von Win11 unscharf. Ich weiß nicht, was los ist. Tatsächlich können wir das Problem lösen, indem wir die Registrierung oder die Anwendungskompatibilität ändern. Lösung für die Unschärfe des Hintergrundbilds unter Win11: 1. Desktop-Unschärfe 1. Wenn der Desktop unscharf ist, können Sie mit der rechten Maustaste auf das untere Startmenü klicken und „Ausführen“ öffnen. 2. Geben Sie dann „regedit“ ein und drücken Sie die Eingabetaste, um die Registrierung zu öffnen. 3. Gehen Sie nach dem Öffnen zum Speicherort „Computer\HKEY_CURRENT_USER\ControlPanel\Desktop“. 4. Klicken Sie nach der Eingabe mit der rechten Maustaste auf die leere Stelle und wählen Sie „Neuen „DWORD-Wert“ erstellen“. 5. Benennen Sie ihn in „JPEGImportQuality“ um und doppelklicken Sie, um die Daten zu öffnen.

Zu den Canvas-Pfeil-Plugins gehören: 1. Fabric.js, das über eine einfache und benutzerfreundliche API verfügt und benutzerdefinierte Pfeileffekte erstellen kann. 2. Konva.js, das die Funktion zum Zeichnen von Pfeilen bietet und verschiedene Pfeile erstellen kann 3. Pixi.js, das umfangreiche Grafikverarbeitungsfunktionen bietet und verschiedene Pfeileffekte erzielen kann; 4. Two.js, das auf einfache Weise Pfeilstile und Animationen erstellen und steuern kann; 6. Grobe .js, Sie können handgezeichnete Pfeile usw. erstellen.

Zu den Details der Leinwanduhr gehören das Aussehen der Uhr, Teilstriche, Digitaluhr, Stunden-, Minuten- und Sekundenzeiger, Mittelpunkt, Animationseffekte, andere Stile usw. Ausführliche Einführung: 1. Erscheinungsbild der Uhr: Sie können mit Canvas ein kreisförmiges Zifferblatt als Erscheinungsbild der Uhr zeichnen und die Größe, Farbe, den Rand und andere Stile des Zifferblatts festlegen. 2. Skalenlinien: Zeichnen Sie Skalenlinien ein 3. Digitaluhr: Sie können eine Digitaluhr auf das Zifferblatt zeichnen, um die aktuelle Stunde und Minute anzuzeigen.

Zu den Versionen von html2canvas gehören html2canvas v0.x, html2canvas v1.x usw. Detaillierte Einführung: 1. html2canvas v0.x, eine frühe Version von html2canvas. Die neueste stabile Version ist v0.5.0-alpha1. Es handelt sich um eine ausgereifte Version, die in vielen Projekten weit verbreitet und verifiziert wurde. 2. html2canvas v1.x, dies ist eine neue Version von html2canvas.

Zu den Tkinter-Canvas-Attributen gehören BG, BD, Relief, Breite, Höhe, Cursor, Highlightbackground, Highlightcolor, Highlightthickness, Insertbackground, Insertwidth, Selectbackground, Selectforeground, XScrollcommand-Attribute usw. Ausführliche Einführung

Für die Verwendung von Canvas zum Zeichnen von Diagrammen und Animationseffekten in Uniapp sind bestimmte Codebeispiele erforderlich. 1. Einführung Mit der Beliebtheit mobiler Geräte müssen immer mehr Anwendungen verschiedene Diagramme und Animationseffekte auf dem mobilen Endgerät anzeigen. Als plattformübergreifendes Entwicklungsframework auf Basis von Vue.js bietet uniapp die Möglichkeit, Canvas zum Zeichnen von Diagrammen und Animationseffekten zu verwenden. In diesem Artikel wird vorgestellt, wie Uniapp Canvas verwendet, um Diagramm- und Animationseffekte zu erzielen, und es werden spezifische Codebeispiele gegeben. 2. Leinwand

Entdecken Sie das Canvas-Framework: Um die häufig verwendeten Canvas-Frameworks zu verstehen, sind spezifische Codebeispiele erforderlich. Einführung: Canvas ist eine in HTML5 bereitgestellte Zeichen-API, mit der wir umfangreiche Grafik- und Animationseffekte erzielen können. Um die Effizienz und den Komfort des Zeichnens zu verbessern, haben viele Entwickler verschiedene Canvas-Frameworks entwickelt. In diesem Artikel werden einige häufig verwendete Canvas-Frameworks vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern ein tieferes Verständnis für die Verwendung dieser Frameworks zu vermitteln. 1. EaselJS-Framework Ea
