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 das Bild innerhalb des Polygons Kollaborationen: - Der Anwender will ein Bild öffnen 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 - Wissen über das Bild - Veränderung der Pixeldaten des Bildes Kollaborationen: - Der Anwender will ein Bild sehen und 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 geziehlt verändern - Der Anwender möchte die Farbwerte der einzelnen Pixel bekommen 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 (Ansicht und Werte) - Verkleinerung des Bildes (Ansicht und Werte) - zoomen oder skalieren Kollaborationen: - Der Anwender möchte in ein Bild zoomen - Der Anwender möchte aus dem Bild heraus zoomen - 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 angezeigter Bilder - Die 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 anzeigen - Der Anwender möchte ein Bild neben einem anderen Bild speichern - Der Anwender möchte ein Bild über einem anderen Anzeigen lassen - Der Anwender möchte ein Bild über einem anderen speichern 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 speichern 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üht er auf dem Bildschirm n Punkt und am Schluss den Anfangspunkt (10pxl Radius?) - In der Berührten Reihenfolge werden Linien gezogen die die Form aufspannenen 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