Schnittstellenbeschreibung für die Grafikbibliothek grafik.py

Version 1.1 vom 13.04.2004

Diese Grafikbibliothek wurde im Rahmen einer Seminararbeit im Fach Informatikdidaktik erstellt. Sie beruht im Wesentlichen auf einer hervorragenden Vorlage von Bernd Kokavecz (Okt. 2000), die wiederum durch die Arbeit von Siegfried Spolwig und Johann Penon am OSZ-Handel in Berlin inspiriert ist. Wir haben sie unter didaktischen und programmiertechnischen Gesichtspunkten für unser Projekt abgeändert. Die Änderungen betreffen dabei vor allem eine konsequentere Bezeichnerwahl und die Entfernung des Tkinter.Tk() Konstruktoraufrufs aus der TZeichenblatt-Klasse. Dadurch ist die Einbindung der Zeichenfläche zusammen mit anderen Elementen (wie z.B. Buttons) auf einem Fenster möglich. Durch diese Änderung machen wir wahrscheinlich eine (bewußte) Reduktion der Komplexität rückgängig, was für unser Projekt allerdings notwendig ist.

Jeanine Umlang, Clemens Wagner

 

 

Klasse:

 TBild

Version: 1.1 (13.04.2004)

Beschreibung: Stellt die Tkinter-Klasse PhotoImage mit deutschem Bezeichner zur Verfügung. Dieses Klasse wird verwendet, um ein Hintergrundbild in das Zeichenblatt einzublenden.


Attribut Typ Beschreibung
Bild Tkinter.Photoimage
Breite Integer    
Hoehe Integer    
       
Methode Rückgabewert Parameter Beschreibung
__init__() TBild --- Konstruktor
holeBild() Tkinter.Photoimage --- liefert die Bilddaten des Objekts
holeBreite() Integer --- gibt die Breite des Bildes in Pixeln zurück
holeHoehe() Integer --- gibt die Hoehe des Bildes in Pixeln zurück

 

Klasse:

 TFarbe

Version: 1.1 (13.04.2004)

Beschreibung: Klasse zur Beschreibung von Farbeigenschaften eines Grafikobjekts. Es werden vier Dictionaries für den Umgang mit verschiedenen Farbdarstellungen (Int, String, Hex) zur Verfügung gestellt:

0 = "transparent" = ""
1 = "schwarz" = "#000"

2 = "blau" = "#00f"

3 = "gruen" = "#0f0"
4 = "tuerkis" = "#0ee"
5 = "rot" = "#f00"
6 = "gelb" = "#ff0"
7 = "grau" = "#ccc"
8 = "weiss" = "#fff"

Beim Konstruktoraufruf wird die Farbe mit "schwarz" initialisiert.


Attribut Typ Beschreibung
Farbe String Hexadezimale Farbdarstellung
       
Methode Rückgabewert Parameter:Typ Beschreibung
__init__() TFarbe --- Konstruktor
holeFarbe() String (Hexadezimal) --- gibt die Hexadezimaldarstellung (z.B. "#00f") zurück
holeFarbnummer() Integer --- gibt die Integerdarstellung zurück (0-8)
holeFarbname() String --- gibt die Farbnamendarstellung zurück (z.B. "blau")
setzeFarbe(f) --- f:String (Hexadezimal) setzt die Farbe in Hexadezimaldarstellung
setzeFarbnummer(f) --- f:Integer (0-8) setzt die Farbe in Integerdarstellung
setzeFarbname(f) --- f:String setzt die Farbe in Farbnamendarstellung

 

Klasse:

 TFigur

Version: 1.1 (13.04.2004)

Beschreibung: Diese Klasse stellt die Superklasse dar, von der alle anderen Grafikklassen erben. Sie vereint also die Attribute und Methoden, die alle Grafikklassen gemeinsam haben. (Koordinatenursprung: links oben) Dem Konstruktor muss ein Objekt vom Typ TZeichenblatt übergeben werden, auf dem die Figur dargestellt werden soll.


Attribut Typ Beschreibung
X1 Integer linke obere Ecke d. Objekts (X-Koordinate)
Y1 Integer   linke obere Ecke d. Objekts (Y-Koordinate)
X2 Integer   rechte untere Ecke d. Objekts (X-Koordinate)
Y2 Integer   rechte untere Ecke d. Objekts (Y-Koordinate)
Farbe TFarbe   Randfarbe d. Objekts
Fuellfarbe TFarbe   Füllfarbe d. Objekts
ZB TZeichenblatt   Verweis auf das Zeichenblatt, auf dem das Objekt dargestellt werden soll
       
Methode Rückgabewert Parameter:Typ Beschreibung
__init__(zb) TFigur zb:TZeichenblatt Konstruktor
holeX1Pos() Integer --- gibt X1 zurück
holeY1Pos() Integer --- gibt Y1 zurück
holeX2Pos() Integer --- gibt X2 zurück
holeY2Pos() Integer --- gibt Y2 zurück
setzePos(x1,y1,x2,y2) --- x1:Integer, y1:Integer, x2:Integer, y2:Integer setzt die Position der Figur relativ zum Ursprung der Zeichenfläche
posVersetzenUm(dx,dy) --- dx:Integer, dy:Integer versetzt die Figur um dx, dy Pixel
zeigen() --- --- abstrakte Methode zum Anzeigen des Objekts, die von den Unterklassen überschrieben werden muss
loeschen() --- --- Objekt wird vom Bildschirm gelöscht
entfernen() --- --- Objekt wird aus dem Speicher gelöscht

 

Klasse:

 TLinie

(Superklasse:TFigur)

Version: 1.1 (13.04.2004)

Beschreibung: Klasse zur Darstellung von Linien. X1,Y1 und X2,Y2 beschreiben Anfangs- und Endpunkt. Die Klasse TLinie erbt von TFigur!


Attribut Typ Beschreibung

(siehe TFigur)

ACHTUNG: Das Attribut Fuellfarbe wird nicht benutzt! Die Farbgebung hängt nur vom Attribut Farbe ab!

 

       
Methode Rückgabewert Parameter:Typ Beschreibung

(siehe TFigur)

 

Klasse:

 TEllipse

(Superklasse:TFigur)

Version: 1.1 (13.04.2004)

Beschreibung: Klasse zur Darstellung von Ellipsen. X1,Y1 und X2,Y2 beschreiben dabei ein Rechteck, dass die Ellipse umgibt. Die Klasse TEllipse erbt von TFigur!


Attribut Typ Beschreibung
(siehe TFigur)
       
Methode Rückgabewert Parameter:Typ Beschreibung

(siehe TFigur)

 

Klasse:

 TKreis

(Superklasse: TFigur)

Version: 1.1 (13.04.2004)

Beschreibung: Klasse zur Darstellung von Kreisen. Dabei werden aus den gegebenen Koordinaten des Mittelpunkts und dem Radius die linke obere und die rechte untere Ecke eines gedachten umgebenden Quadrates errechnet. Die Klasse TKreis erbt von TFigur!


Attribut Typ Beschreibung

(siehe TFigur)

Mx Integer Kreismittelpunkt (X-Koordinate)
My Integer   Kreismittelpunkt (Y-Koordinate)
Radius Integer   Radius des Kreises
       
Methode Rückgabewert Parameter:Typ Beschreibung

(siehe TFigur)

holeMx() Integer --- gibt Mx zurück
holeMy() Integer --- gibt My zurück
holeRadius() Integer --- gibt den Radius zurück
setzeRadius(r) --- r:Integer setzt den Radius
setzeMPos(mx,my) --- mx:Integer, my:Integer setzt den Kreismittelpunkt
setzeFarbname(f) --- f:String setzt die Farbe in Farbnamendarstellung

 

Klasse:

 TRechteck

(Superklasse: TFigur)

Version: 1.1 (13.04.2004)

Beschreibung: Klasse zur Darstellung von Rechtecken. Die Klasse TRechteck erbt von TFigur!


Attribut Typ Beschreibung
(siehe TFigur)
       
Methode Rückgabewert Parameter:Typ Beschreibung
(siehe TFigur)

 

Klasse:

 TText

(Superklasse: TFigur)

Version: 1.1 (13.04.2004)

Beschreibung: Klasse zur Darstellung von Grafiktexten. X und Y beschreiben die linke obere Ecke des Textes, X2 und Y2 werden nicht verwendet! Die Klasse TText erbt von TFigur!


Attribut Typ Beschreibung

(siehe TFigur)

ACHTUNG: Das Attribut Fuellfarbe wird nicht benutzt! Die Farbgebung hängt nur vom Attribut Farbe ab!

 

Text String Inhalt des Grafiktextes
Schriftart String   Name eines Zeichensatzes ("Arial", "Courier", etc.)
Hoehe     Schriftgröße in Pixeln
       
Methode Rückgabewert Parameter:Typ Beschreibung
(siehe TFigur)
setzePos(x,y) --- x:Integer, y:Integer Überschreibt die entsprechende Methode der Superklasse (TFigur)
setzeText(t) --- t:String setzt den Inhalt des Grafiktextes
setzeFont(art,grad) --- art:String, grad:Integer setzt den Zeichensatz (art="*" oder Name eines Betriebssystem-Zeichensatzes "Arial", "Courier",...) und die Zeichengröße in Pixeln (grad=12,14,36,...)

 

Klasse:

 TZeichenblatt

Version: 1.1 (13.04.2004)

Beschreibung: Diese Klasse stellt ein Zeichenblatt zur Verfügung auf dem Grafikobjekte dargestellt werden können. Wird der Konstruktor ohne Parameter aufgerufen hat das Zeichenblatt die 400x400 Pixel und eine weiße Hintergrundfarbe. Über "named parameter" können aber dem Konstruktor auch andere Werte übergeben werden. Wird eine Bilddatei übergeben, so werden Breite und Hoehe des Bildes als Zeichenblatt-Maße übernommen. Es gibt keine Setze-Methoden -> ein Ändern der Zeichenblattgröße und -farbe ist nicht möglich.

Beispiele für den Konstruktoraufruf:

zb=TZeichenblatt(hgFarbe="gruen",breite=600,hoehe=300)

zb=TZeichenblatt(bilddatei="../bg.gif")

zb=TZeichenblatt(hgFarbe="gelb")

zb=TZeichenblatt(breite=800)


Attribut Typ Beschreibung
Breite Integer Breite des Zeichenblattes (in Pixeln). Standardwert: 400
Hoehe Integer   Hoehe des Zeichenblattes (in Pixeln). Standardwert: 400
Farbe TFarbe   Hintergrundfarbe des Zeichenblattes. Standardwert: "weiss"
BildDatei TBild   Pfad+Dateiname vom Hintergrundbild. Standardwert: <kein Bild>
       
Methode Rückgabewert Parameter:Typ Beschreibung
init(bilddatei,hgFarbe,breite,hoehe) TZeichenblatt

bilddatei:String (=<None>)

hgFarbe:String (="weiss")

breite:Integer (=400)

hoehe:Integer (=400)

Konstruktor
holeBreite() Integer --- gibt Breite zurück
holeHoehe() Integer --- gibt Hoehe zurück
aktualisieren() --- --- aktualisiert die Zeichenfläche (update)