Vector Paint

posted

2026-02-22

updated

2026-02-22
 
In diesem Projekt möchte ich ein Tool bauen, 
mit dem sich Vectorbasierte Bilder erstellen und abspeichern lassen. 
Ziel 
Es gibt eine Zeichenfläche, eine Farbpalette, eine Toolbox und ein Menü.  
Zeichenfläche 
Die Zeichenfläche besteht zeigt die Punkte, die in verschiedenen Ebenen verwendet werden. Am unteren Rand kann mit der Maus die Ebene gewechselt werden. 
Auf der Basisebene werden alle Punkte des Bildes angezeigt. 
In den anderen Ebenen werden die aktiven Punkte stark hervorgehoben. 
Mit linksklick wird ein existierender Ankerpunkt aktiven Ebene hinzugefügt, mit Rechtsklick wird er aus dem Ebene entfernt. 
Shift links/rechts-klick fügt/entfernt Ankerpunkte von allen Ebenen. 
Mit gedrückter Maustaste lassen sich existierende Punkte verschieben. 
Jeder Punkt hat innerhalb einer Ebene zudem eine ID zwischen 0 und 9.
Diese kann mit den Tasten "+"/"-" , oder "0"-"9"auf der Tastatur geändert werden. Jede ID kann allerdings nur einmal vorhanden sein. 
Farbpalette 
Es stehen 8 oder 16 Farben zu Verfügung, die mit linksklick in der Farbpalette anwählbar sind. 
Diese Farbe ist immer für die ganze gerade aktive Ebene gültig.
Das heißt, das Element in der aktiven Ebene hat jetzt diese Farbe. 
Toolbox 
Hier kann der Typ der aktiven Ebene bestimmt werden.
Es gibt: 

Toolbox - Lines
 
Lines verbindet alle Punkte der Ebene mit einer geraden Linie von einem Punkt zum nächsten.
 
Toolbox - Bezier
 
Verbindet alle Punkte mit einer C1 stetigen geschlossenen Bezier Kurve.
 
Toolbox - Circles
 
Für je zwei Punkte wird ein Punkt als Zentrum eines Kreises gewertet,
auf dessem äußerem Radius sich der andere Punkt befindet.
 
Menu
 
Das Bild im JSON-format gespeichert werden aus dem es später dann auch wieder eingelesen werden kann.
 
Außerdem kann das Bild auch als reguläres SVG abgespeichert werden.
 
Mit "New" kann das gesamte Bild gelöscht werden.
 

 
Erwarteter Fortschritt
 

Hilfestellung
 

Comments

captcha