Bilder und Fotos · Browser-Bild- und Zeichnungseditor
So funktioniert Freihandzeichnen in einem Browser: Zeigerereignisse auf Pixel
· Wie es funktioniert
Bildbearbeitung Leinwand Browser-Verarbeitung
Ein freihändiger Strich, der mit einer Maus, einem Finger oder einem Stift gezeichnet wird, ist ein Strom von Positionsbeispielen, den der Browser in eine glatte Linie umwandelt. Dieser Beitrag folgt einem Strich vom Eingabeereignis bis zu den gemalten Pixeln.
Der wackelige Kreis, der glatt herauskommt – was Sie zeichnen im Vergleich zu dem, was der Editor aufzeichnet
Eine Freihandmarkierung beginnt als abgetastete Position und nicht als fortlaufendes Band. Beginnen Sie mit dem wackeligen Kreis, der glatt herauskommt: Sie zeichnen eine Geste, während der Editor gesampelte Positionen aufzeichnet. Für diese Strichpipeline bestätigt der Quellcode, dass die einheitlichen Pointerdown-, Pointermove-, Pointerup- und Pointercancel-Handler einen aktiven Zeiger erfassen und CSS-Koordinaten durch Zoom zurückbilden. Der Pinsel interpoliert zwischen spärlichen Samples im Abstand von einem Viertel seiner Breite, ignoriert jedoch Druckwerte.
Kreisen Sie drei Antworten mit der Maus, dem Finger oder dem Stift ein und beobachten Sie, wie aus einer Geste nach dem Loslassen des Zeigers ein Verlaufseintrag wird. Runde Kappen und Verbindungen erzeugen kontinuierliche Freihandstriche; Ein Fingertipp hinterlässt immer noch eine kreisförmige Markierung. Druckkunst und Vektorhandschrift bleiben außerhalb dieses Pfades, selbst wenn die Hardware reichhaltigere Eingaben meldet.
Zeigerereignisse: Maus, Berührung und Stift in einer API – wie der Browser die Position, den Druck (sofern verfügbar) und die tatsächlich erhaltene Abtastrate meldet
Eine Freihandmarkierung beginnt als abgetastete Position und nicht als fortlaufendes Band. Zeigerereignisse stellen Maus-, Berührungs- und Stifteingaben hinter eine API und melden die Position und manchmal den Druck mit der vom Gerät bereitgestellten Abtastrate. Für diese Strichpipeline bestätigt der Quellcode, dass der Pinsel zwischen spärlichen Samples im Abstand basierend auf einem Viertel seiner Breite interpoliert, Druckwerte jedoch ignoriert. Runde Kappen und Verbindungen erzeugen kontinuierliche Freihandstriche; Ein Fingertipp hinterlässt immer noch eine kreisförmige Markierung.
Kreisen Sie drei Antworten mit der Maus, dem Finger oder dem Stift ein und beobachten Sie, wie aus einer Geste nach dem Loslassen des Zeigers ein Verlaufseintrag wird. Das auf drei begrenzte Pixelverhältnis des Geräts schärft nur den Hintergrundspeicher auf dem Bildschirm. Die Dokumentpixel bleiben bei der Bildauflösung. Druckkunst und Vektorhandschrift bleiben außerhalb dieses Pfades, selbst wenn die Hardware reichhaltigere Eingaben meldet.
Zeigerereignisse vereinheitlichen hier Maus-, Touch- und Stiftpositionen, es wird jedoch kein Druck verbraucht
Eine Freihandmarkierung beginnt als abgetastete Position und nicht als fortlaufendes Band. Punkte in einen Pfad umzuwandeln bedeutet, Samples mit Segmenten oder Kurven zu verbinden, und beim Glätten geht immer ein gewisses Maß an Wiedergabetreue gegen Lesbarkeit verloren. Für diese Strichpipeline bestätigt der Quellcode, dass runde Kappen und Verbindungen kontinuierliche Freihandstriche erzeugen. Ein Fingertipp hinterlässt immer noch eine kreisförmige Markierung. Das auf drei begrenzte Pixelverhältnis des Geräts schärft nur den Hintergrundspeicher auf dem Bildschirm. Die Dokumentpixel bleiben bei der Bildauflösung.
Kreisen Sie drei Antworten mit der Maus, dem Finger oder dem Stift ein und beobachten Sie, wie aus einer Geste nach dem Loslassen des Zeigers ein Verlaufseintrag wird. Die einheitlichen Handler „pointerdown“, „pointermove“, „pointerup“ und „pointercancel“ erfassen einen aktiven Zeiger und bilden CSS-Koordinaten durch Zoom zurück. Druckkunst und Vektorhandschrift bleiben außerhalb dieses Pfades, selbst wenn die Hardware reichhaltigere Eingaben meldet.
Einen Pfad auf der Leinwand streichen – Linienstärke, Verschlüsse, Verbindungen und Anti-Aliasing und warum Strichkanten niemals reine einfarbige Pixel sind
Eine Freihandmarkierung beginnt als abgetastete Position und nicht als fortlaufendes Band. Durch das Streichen des Pfads werden Breite, Abschlüsse, Verbindungen und Anti-Aliasing hinzugefügt, weshalb eine Kante gemischte Pixel anstelle einer vollkommen reinen Farbe enthält. Für diese Strichpipeline bestätigt der Quellcode, dass das Pixelverhältnis des Geräts auf drei begrenzt ist und nur den Hintergrundspeicher auf dem Bildschirm schärft. Die Dokumentpixel bleiben bei der Bildauflösung. Die einheitlichen Handler „pointerdown“, „pointermove“, „pointerup“ und „pointercancel“ erfassen einen aktiven Zeiger und bilden CSS-Koordinaten durch Zoom zurück.
Kreisen Sie drei Antworten mit der Maus, dem Finger oder dem Stift ein und beobachten Sie, wie aus einer Geste nach dem Loslassen des Zeigers ein Verlaufseintrag wird. Der Pinsel interpoliert zwischen spärlichen Samples im Abstand von einem Viertel seiner Breite, ignoriert jedoch Druckwerte. Druckkunst und Vektorhandschrift bleiben außerhalb dieses Pfades, selbst wenn die Hardware reichhaltigere Eingaben meldet.
Gerätepixelverhältnis – warum eine Zeichenfläche mehr Hintergrundpixel als Bildschirmpunkte auf einem Display mit hoher Dichte benötigt und was passiert, wenn dies nicht der Fall ist
Eine Freihandmarkierung beginnt als abgetastete Position und nicht als fortlaufendes Band. Das Gerätepixelverhältnis erklärt, warum eine Zeichenfläche auf einem Display mit hoher Dichte mehr Hintergrundpixel als Bildschirmpunkte benötigt und warum ein Hintergrundspeicher mit niedriger Auflösung weich aussieht. Für diese Strichpipeline bestätigt der Quellcode, dass die einheitlichen Pointerdown-, Pointermove-, Pointerup- und Pointercancel-Handler einen aktiven Zeiger erfassen und CSS-Koordinaten durch Zoom zurückbilden. Der Pinsel interpoliert zwischen spärlichen Samples im Abstand von einem Viertel seiner Breite, ignoriert jedoch Druckwerte.
Kreisen Sie drei Antworten mit der Maus, dem Finger oder dem Stift ein und beobachten Sie, wie aus einer Geste nach dem Loslassen des Zeigers ein Verlaufseintrag wird. Runde Kappen und Verbindungen erzeugen kontinuierliche Freihandstriche; Ein Fingertipp hinterlässt immer noch eine kreisförmige Markierung. Druckkunst und Vektorhandschrift bleiben außerhalb dieses Pfades, selbst wenn die Hardware reichhaltigere Eingaben meldet.
Arbeitsbeispiel: Einkreisen von drei Antworten auf einem fotografierten Arbeitsblatt – wie jeder Strich erfasst, gezeichnet und exportiert wird
Eine Freihandmarkierung beginnt als abgetastete Position und nicht als fortlaufendes Band. Kreisen Sie drei Antworten auf einem fotografierten Arbeitsblatt ein und der Pfad wird zu einer Folge von Beispielen, interpolierten Pinselstrichen und schließlich exportierten Pixeln. Für diese Strichpipeline bestätigt der Quellcode, dass der Pinsel zwischen spärlichen Samples im Abstand basierend auf einem Viertel seiner Breite interpoliert, Druckwerte jedoch ignoriert. Runde Kappen und Verbindungen erzeugen kontinuierliche Freihandstriche; Ein Fingertipp hinterlässt immer noch eine kreisförmige Markierung.
Kreisen Sie drei Antworten mit der Maus, dem Finger oder dem Stift ein und beobachten Sie, wie aus einer Geste nach dem Loslassen des Zeigers ein Verlaufseintrag wird. Das auf drei begrenzte Pixelverhältnis des Geräts schärft nur den Hintergrundspeicher auf dem Bildschirm. Die Dokumentpixel bleiben bei der Bildauflösung. Druckkunst und Vektorhandschrift bleiben außerhalb dieses Pfades, selbst wenn die Hardware reichhaltigere Eingaben meldet.
Was hiervon nicht abgedeckt wird: druckempfindliche Pinsel, Vektorexport und Handschrifterkennung
Eine Freihandmarkierung beginnt als abgetastete Position und nicht als fortlaufendes Band. Die Grenze umfasst druckempfindliche Pinsel, Vektorexport und Handschrifterkennung. Für diese Strichpipeline bestätigt der Quellcode, dass runde Kappen und Verbindungen kontinuierliche Freihandstriche erzeugen. Ein Fingertipp hinterlässt immer noch eine kreisförmige Markierung. Das auf drei begrenzte Pixelverhältnis des Geräts schärft nur den Hintergrundspeicher auf dem Bildschirm. Die Dokumentpixel bleiben bei der Bildauflösung.
Kreisen Sie drei Antworten mit der Maus, dem Finger oder dem Stift ein und beobachten Sie, wie aus einer Geste nach dem Loslassen des Zeigers ein Verlaufseintrag wird. Die einheitlichen Handler „pointerdown“, „pointermove“, „pointerup“ und „pointercancel“ erfassen einen aktiven Zeiger und bilden CSS-Koordinaten durch Zoom zurück. Druckkunst und Vektorhandschrift bleiben außerhalb dieses Pfades, selbst wenn die Hardware reichhaltigere Eingaben meldet.
Takeaway: Ihr Gerät übernimmt die Zeichnung – wie der Browser Image & Drawing Editor Striche lokal erfasst und sie niemals irgendwohin sendet
Eine Freihandmarkierung beginnt als abgetastete Position und nicht als fortlaufendes Band. Die Erkenntnis ist lokal und konkret: Ihr Gerät liefert die Zeigereingabe, während der Browser Image & Drawing Editor den Strich im Browser erfasst und rendert. Für diese Strichpipeline bestätigt der Quellcode, dass das Pixelverhältnis des Geräts auf drei begrenzt ist und nur den Hintergrundspeicher auf dem Bildschirm schärft. Die Dokumentpixel bleiben bei der Bildauflösung. Die einheitlichen Handler „pointerdown“, „pointermove“, „pointerup“ und „pointercancel“ erfassen einen aktiven Zeiger und bilden CSS-Koordinaten durch Zoom zurück.
Kreisen Sie drei Antworten mit der Maus, dem Finger oder dem Stift ein und beobachten Sie, wie aus einer Geste nach dem Loslassen des Zeigers ein Verlaufseintrag wird. Der Pinsel interpoliert zwischen spärlichen Samples im Abstand von einem Viertel seiner Breite, ignoriert jedoch Druckwerte. Druckkunst und Vektorhandschrift bleiben außerhalb dieses Pfades, selbst wenn die Hardware reichhaltigere Eingaben meldet.