mirror of
https://github.com/creyD/intelliphoto.git
synced 2026-04-16 13:20:33 +02:00
Master Cleanup
Nicht böse sein, ich habe hier mal nur die Abgaben behalten, ich weiß nicht, wie sinnvoll es ist alle anderen Sachen zu noch zu haben. Wenn was dagegen spricht, könnt ihr ja zurückrollen...
This commit is contained in:
@@ -0,0 +1,303 @@
|
||||
Klasse: Bild (abstrakt)
|
||||
Vererbung:
|
||||
-
|
||||
Verantwortlichkeiten:
|
||||
- Speicherung der Daten in einem 2d-Array
|
||||
- Speicherung der Farbdaten jedes einzelnen Pixels
|
||||
Kollaborationen:
|
||||
- Der Anwender will ein Bild öffnen und speichern können, ohne sich darüber Gedanken machen zu müssen
|
||||
|
||||
Klasse: Bilddimensionen
|
||||
Vererbung:
|
||||
- Bild
|
||||
Verantwortlichkeiten:
|
||||
- Wissen über die Größe des Bildes
|
||||
Kollaborationen:
|
||||
- Nutzer kann die Anzahl der Pixel in x und y Richtung abfragen
|
||||
|
||||
Klasse: RasterImage
|
||||
Vererbung:
|
||||
- Bild
|
||||
Verantwortlichkeiten:
|
||||
- Darstellung des gezeichneten Bildes
|
||||
- Speicherung der Daten in einem 2d-Array
|
||||
- Speicherung der Farbdaten jedes einzelnen Pixels (je ein Bit pro Pixel)
|
||||
Kollaborationen:
|
||||
- Der Anwender will ein Bild öffnen, bearbeiten und speichern können, ohne sich darüber Gedanken machen zu müssen
|
||||
|
||||
Klasse: ShapedImage
|
||||
Vererbung:
|
||||
- RasterImage
|
||||
Verantwortlichkeiten:
|
||||
- Speicherung der Daten in einem 2d-Array
|
||||
- Speicherung der Farbdaten jedes einzelnen Pixels -> Transparenz
|
||||
- Speicherung der Polygondaten
|
||||
- Darstellung der Transparenz außerhalb des Polygons und des Bildes innerhalb des Polygons
|
||||
Kollaborationen:
|
||||
- Der Anwender will ein Bild öffnen, bearbeiten und speichern können, ohne sich darüber Gedanken machen zu müssen
|
||||
|
||||
Klasse: Tool (abstrakt)
|
||||
Vererbung:
|
||||
-
|
||||
Verantwortlichkeiten:
|
||||
- Name, Beschreibung, Tooltip und Icon des Tools speichern
|
||||
- Veränderung der Pixeldaten des Bildes
|
||||
Kollaborationen:
|
||||
- Der Anwender will ein Bild bearbeiten können
|
||||
|
||||
Klasse: Set-Color-Tool (abstrakt)
|
||||
Vererbung:
|
||||
- Tool
|
||||
Verantwortlichkeiten:
|
||||
- Verwalten der Farbcodierung und deren Darstellung
|
||||
- Bearbeiten des Bildes durch Verändern von Farbcodes an bestimmten Pixeln
|
||||
- Darstellung der Farbpallette
|
||||
Kollaborationen:
|
||||
- Der Anwender möchte das Bild farblich gezielt verändern
|
||||
- Der Anwender möchte die Farbwerte der einzelnen Pixel abfragen
|
||||
|
||||
Klasse: Un-/Redo-Tool
|
||||
Vererbung:
|
||||
- Set-Color-Tool
|
||||
Verantwortlichkeiten:
|
||||
- 20 Operationen speichern
|
||||
- die letzten (bis zu 10) Änderungen rückgängig machen
|
||||
- die letzten (bis zu 10) Undo-Aufforderungen rückgängig machen
|
||||
- sobald gezeichnet wird, werden alle Redo-Einträge gelöscht
|
||||
Kollaborationen:
|
||||
- Der Anwender möchte eine Tool Änderung rückgängig machen
|
||||
- Der Anwender möchte eine Undo Aktivität rückgängig machen
|
||||
|
||||
Klasse: Dreh-Tool
|
||||
Vererbung:
|
||||
- Tool
|
||||
Verantwortlichkeiten:
|
||||
- Rotation des angezeigten Bildes
|
||||
- Ändern der Farbwerte, so dass sie mit dem rotierten Bild übereinstimmen
|
||||
Kollaborationen:
|
||||
- Möglichkeit für den Nutzer das Bild zu drehen
|
||||
- Der Anwender möchte das Bild gedreht speichern
|
||||
|
||||
Klasse: Size-Tool
|
||||
Vererbung:
|
||||
- Tool
|
||||
Verantwortlichkeiten:
|
||||
- Vergrößerung des Bildes (Werte)
|
||||
- Verkleinerung des Bildes (Werte)
|
||||
- Skalieren
|
||||
Kollaborationen:
|
||||
- Der Anwender möchte die Auflösung des Bildes vergrößern
|
||||
- Der Anwender möchte die Auflösung des Bildes verkleinern
|
||||
|
||||
|
||||
Klasse: Merge-Tool
|
||||
Vererbung:
|
||||
- Tool
|
||||
Verantwortlichkeiten:
|
||||
- Das Zusammenfügen zweier Bilder in eine neue Datei (Abspeichern der neuen Farbwerte)
|
||||
- Das Zusammenfügen übereinander oder nebeneinander (wenn Alpha-Kanal vorhanden)
|
||||
Kollaborationen:
|
||||
- Der Anwender möchte ein Bild neben einem anderen Bild speichern
|
||||
- Der Anwender möchte ein Bild über einem anderen speichern
|
||||
|
||||
Klass: View-Tool(abstrakt)
|
||||
Vererbung:
|
||||
-Tool
|
||||
Verantwortlichkeiten:
|
||||
-Verändern der Ansicht des Bilder
|
||||
Kollaborationen:
|
||||
-Der User möchte das Bild anders Anzeigen lassen
|
||||
|
||||
Klasse: Zoom-Tool
|
||||
Vererbung:
|
||||
- View-Tool
|
||||
Verantwortlichkeiten:
|
||||
- Vergrößerung des Bildes (Ansicht)
|
||||
- Verkleinerung des Bildes (Ansicht)
|
||||
- Zoomen
|
||||
Kollaborationen:
|
||||
- Der Anwender möchte in ein Bild zoomen
|
||||
- Der Anwender möchte aus dem Bild heraus zoomen
|
||||
|
||||
Klasse: Merge-View-Tool
|
||||
Vererbung:
|
||||
- View-Tool
|
||||
Verantwortlichkeiten:
|
||||
- Das Anzeigen zweier Bilder in der Datei
|
||||
Kollaborationen:
|
||||
- Der Anwender möchte ein Bild neben einem anderen Bild anzeigen
|
||||
- Der Anwender möchte ein Bild über einem anderen anzeigen lassen
|
||||
|
||||
Klasse: Pen-Tool
|
||||
Vererbung:
|
||||
- Set-Color-Tool
|
||||
Verantwortlichkeiten:
|
||||
- Speicherung des eingestellten Radius
|
||||
- Setzen von Pixelwerten um die Cursor-Stelle in einen auswählbaren Radius in einer auswählbaren Farbe
|
||||
Kollaborationen:
|
||||
- Der Anwender möchte Freihand in einer freiwählbaren Farbe in einem freiwählbaren Radius zeichnen, ohne Beschränkung innerhalb des Bildes
|
||||
|
||||
Klasse: FloodFill-Tool
|
||||
Vererbung:
|
||||
- Set-Color-Tool
|
||||
Verantwortlichkeiten:
|
||||
- alle Pixel in einer Äquivalenzklasse zum aktuellen Pixel in eine freiwählbare Farbe einfärben
|
||||
Kollaborationen:
|
||||
- Der Anwender möchte eine Fläche einer Farbe komplett umfärben
|
||||
|
||||
Klasse: Plain-Tool
|
||||
Vererbung:
|
||||
- Set-Color-Tool
|
||||
Verantwortlichkeiten:
|
||||
- alle Pixel des Bildes in eine Farbe ändern
|
||||
Kollaborationen:
|
||||
- Der Anwender möchte das Bild einfarbig einfärben
|
||||
|
||||
Klasse: Formen-Tool (abstrakt)
|
||||
Vererbung:
|
||||
- Set-Color-Tool
|
||||
Verantwortlichkeiten:
|
||||
- Zeichnen eines geometrischen Primitives
|
||||
- vereinheitlichte Darstellung der Formauswahl und Ränder
|
||||
Kollaborationen:
|
||||
- Der Anwender möchte ein/e Rechteck/Linie oder eine konvexe Form zeichnen
|
||||
|
||||
Klasse: Linien-Tool
|
||||
Vererbung:
|
||||
- Formen-Tool
|
||||
Verantwortlichkeiten:
|
||||
- Zeichnen einer Linie in einer wählbaren Dicke und Farbe
|
||||
- Die Linie kann durchgängig, gestrichelt oder gepunktet gezeichnet werden
|
||||
Kollaborationen:
|
||||
- Der Anwender möchte eine durchgezogene Linie zeichnen
|
||||
- Der Anwender möchte eine gestrichelte Linie zeichnen
|
||||
- Der Anwender möchte eine gepunktete Linie zeichnen
|
||||
|
||||
Klasse: Rechteck-Tool
|
||||
Vererbung:
|
||||
- Formen-Tool
|
||||
Verantwortlichkeiten:
|
||||
- Aufspannen eines Rechtecks zwischen zwei Punkten, der Rand und die Fläche sind in der Farbe frei wählbar,
|
||||
diese Wählbarkeit ist separat vom anderen Zustand möglich
|
||||
- Der Rand kann in der Dicke eingestellt werden
|
||||
Kollaborationen:
|
||||
- Der Anwender möchte ein Rechteck zeichnen, die innere Fläche soll Transparenz speichern
|
||||
- Der Anwender möchte ein Rechteck zeichnen, die innere Fläche soll eine Farbe haben, der Rand soll eine gewisse Breite und Farbe haben
|
||||
|
||||
Klasse: Konvexe-Form-Tool
|
||||
Vererbung:
|
||||
- Formen-Tool
|
||||
Verantwortlichkeiten:
|
||||
- Aufspannen einer konvexen Form mittels Punkten (max 100)
|
||||
- Die konvexe Form hat einen Rand und eine interne Fläche, deren Farbe separat gewählt werden kann
|
||||
- Der Rand kann im Bezug auf seine Dicke eingestellt werden
|
||||
Kollaborationen:
|
||||
- Der Anwender möchte ein n-Eck zeichnen, dazu berührt er auf dem Bildschirm n-Punkte und am Schluss den Anfangspunkt (10pxl Radius?)
|
||||
- In der berührten Reihenfolge werden Linien gezogen, die die Form aufspannen und je nach Einstellungen wird der Rand und die interne Fläche dargestellt
|
||||
|
||||
Klasse: Polygon-Form-Tool
|
||||
Vererbung:
|
||||
- Formen-Tool
|
||||
Verantwortlichkeiten:
|
||||
- Aufspannen eines Polygons über das Bild
|
||||
- Das Polygon hat einen Rand und eine interne Fläche, deren Farbe separat gewählt werden kann
|
||||
- Der Rand kann im Bezug auf seine Dicke eingestellt werden
|
||||
Kollaborationen:
|
||||
- Der Anwender möchte ein Polygon zeichnen
|
||||
|
||||
Klasse: Kreis-Tool
|
||||
Vererbung:
|
||||
- Set-Color-Tool
|
||||
Verantwortlichkeiten:
|
||||
- Erstellen einer Kreisform in dem man den Mittelpunkt bestimmt und zwei Radien festlegen kann (NS und WO Radius)
|
||||
- Die Dicke des Randes des Kreises ist freiwählbar, sowie die Art des Randes (Gepunktet, etc.), genauso wie die Farbe des Kreises und des Randes
|
||||
Kollaborationen:
|
||||
- Der Anwender möchte einen beliebigen Kreis und eine beliebige Ellipse zeichnen können
|
||||
|
||||
Klasse: Selection-Tool(abstrakt)
|
||||
Vererbung:
|
||||
-Tool
|
||||
Verantwortlichkeiten:
|
||||
-Auswählen von einem Bereich(beliebiger Bereich)
|
||||
Kollaborationen:
|
||||
- Der Anwender möchte ein Bereich Auswählen (quadratisch)
|
||||
|
||||
Klasse: Cut-Tool
|
||||
Vererbung:
|
||||
-Selection-Tool
|
||||
Verantwortlichkeiten:
|
||||
-Auswählen von Bildern und das ausschneiden dieser
|
||||
Kollaborationen
|
||||
- Der Anwender möchte ein Bild auswählen und bewegen oder löschen
|
||||
|
||||
Klasse: Korrektur-Tool(abstrakt)
|
||||
Vererbung:
|
||||
-Tool
|
||||
Verantwortlichkeiten:
|
||||
-Verändern von Bild Daten (Korrektur)
|
||||
Kollaborationen:
|
||||
-Der Anwender möchte ein Bild verändern und dies mit Korrektur
|
||||
|
||||
Klasse: Helligkeits-Tool
|
||||
Vererbung:
|
||||
Korrektur-Tool
|
||||
Verantwortlichkeiten
|
||||
Verändert die Helligkeits Werte
|
||||
Kollaboration:
|
||||
Der Anwender möchte das Bild verdunkeln oder aufhellen
|
||||
|
||||
Klasse: Farbton-Tool
|
||||
Vererbung:
|
||||
Korrektur-Tool
|
||||
Verantwortlichkeiten:
|
||||
Verändert die Sättigung von Farbdaten
|
||||
Kollaborationen:
|
||||
Der User möchte ein Bild sättigen oder verblassen
|
||||
|
||||
Klasse: Gradations-Tool
|
||||
Vererbung:
|
||||
Korrektur-Tool:
|
||||
Verantwortlichkeiten:
|
||||
Setzen einer Gradationskurve
|
||||
Kollaboration:
|
||||
Der User möchte eine Gradationskurve eines Farbschemas Erstellen
|
||||
|
||||
Klasse: 3D-Objekt
|
||||
Vererbung:
|
||||
-
|
||||
Verantwortlichkeiten:
|
||||
-Wissen über die Vertices und das Managen dieser
|
||||
Kollaborationen:
|
||||
-Der User möchte ein 3D Objekt laden
|
||||
|
||||
Klassen: 3D-Inspector
|
||||
Vererbung:
|
||||
-
|
||||
Verantwortlichkeiten:
|
||||
-Darstellen eines 3D Objekts und der Projezierung (RayTracer)
|
||||
Kollaborationen:
|
||||
-Der User möchte ein 3D Objekt auf das Layer projezieren
|
||||
|
||||
Klasse: Layer
|
||||
Vererbung:
|
||||
-
|
||||
Verantwortlichkeiten:
|
||||
-Darstellung eines Bildes und Sichtbarkeit auf sich selbst
|
||||
Kollaborationen:
|
||||
-Der User möchte ein Bild auf einem Layer darstellen
|
||||
|
||||
Klasse: Layer-Manager
|
||||
Vererbung:
|
||||
-
|
||||
Verantwortlichkeiten:
|
||||
-Sichtbarkeit und Darstellung der Bilder auf verschiedenen Layern
|
||||
-Projektion auf ein Bild
|
||||
Kollaborationen:
|
||||
-Der User möchte ein Layer über das andere schieben
|
||||
-Der User möchte die Layer löschen
|
||||
-neues Layer erstellen
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user