greenfoot
Class GreenfootImage

java.lang.Object
  extended by greenfoot.GreenfootImage

public class GreenfootImage
extends Object

Ein Bild, welches auf dem Bildschirm (also in der Greenfoot-Welt) angezeigt wird. Das Bild kann aus einer Bilddatei geladen werden und/oder mit Hilfe verschiedener Zeichenmethoden erstellt und verändert werden.

Version:
2.4
Author:
Gunnar Johannesmeyer; Update auf 2.4: Dennis Nolte

Constructor Summary
GreenfootImage(GreenfootImage image)
          Erzeugt ein GreenfootImage aus einem anderen GreenfootImage.
GreenfootImage(int width, int height)
          Erzeugt ein leeres (transparentes) Bild mit angegebener Größe.
GreenfootImage(String filename)
          Erzeugt ein GreenfootImage aus einer Bilddatei.
GreenfootImage(String string, int size, Color foreground, Color background)
          Erstellt ein Bild des übergebenen Texts (string) in der gegebenen Schriftgröße (size) mit den gegebenen Farben.
 
Method Summary
 void clear()
          Löscht das Bild.
 void drawImage(GreenfootImage image, int x, int y)
          Zeichnet das übergebene Bild auf dieses Bild.
 void drawLine(int x1, int y1, int x2, int y2)
          Zeichnet eine Linie zwischen den Punkten (x1, y1) und (x2, y2) in der aktueller Farbe.
 void drawOval(int x, int y, int width, int height)
          Zeichnet den Rahmen eines Ovals in ein angegebenes Rechteck mit aktueller Farbe.
 void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
          Zeichnet ein Polygon, welches durch ein Feld (Array) von x und y-Koordinaten definiert ist.
 void drawRect(int x, int y, int width, int height)
          Zeichnet den Rahmen eines angegeben Rechtecks.
 void drawShape(Shape shape)
          Zeichnet eine Form (Shape) direkt auf das Bild.
 void drawString(String string, int x, int y)
          Schreibt die übergebene Zeichenkette mit aktuellem Zeichensatz und Farbe.
 void fill()
          Füllt das ganze Bild mit der aktuellen Zeichenfarbe.
 void fillOval(int x, int y, int width, int height)
          Zeichnet ein gefülltes Oval in ein angegebenes Rechteck mit aktueller Farbe.
 void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
          Zeichnet ein gefülltes Polygon, welches durch ein Feld (Array) von x und y-Koordinaten definiert ist.
 void fillRect(int x, int y, int width, int height)
          Füllt das angegebene Rechteck.
 void fillShape(Shape shape)
          Zeichnet eine gefüllte Form (Shape) direkt auf das Bild.
 BufferedImage getAwtImage()
          Gibt das java.awt.image.BufferedImage, auf dem das GreenfootImage basiert, zurück.
 Color getColor()
          Gibt die aktuelle Farbe zum Zeichnen zurück.
 Color getColorAt(int x, int y)
          Gibt die Farbe des Bildpunktes an den übergebenen Koordinaten zurück.
 Font getFont()
          Gibt den aktuellen Zeichensatz zurück.
 int getHeight()
          Gibt die Höhe des Bildes zurück.
 int getTransparency()
          Gibt die aktuelle Transparenz des Bildes zurück.
 int getWidth()
          Gibt die Breite des Bildes zurück.
 void mirrorHorizontally()
          Spiegelt das Bild horizontal (Spiegelung um die x-Achse).
 void mirrorVertically()
          Spiegelt das Bild vertikal (Spiegelung um die y-Achse).
 void rotate(int degrees)
          Dreht das Bild um die Mitte.
 void scale(int width, int height)
          Skaliere das Bild auf eine neue Größe.
 void setColor(Color color)
          Setzt die Farbe zum Zeichnen.
 void setColorAt(int x, int y, Color color)
          Setzt die Farbe des Bildpunktes an den angegebenen Koordinaten auf die angegebene Farbe.
 void setFont(Font f)
          Setzt den als Parameter übergebenen Zeichensatz als neuen Zeichensatz.
 void setTransparency(int t)
          Setzt die Transparenz des Bildes.
 String toString()
          Gibt die Textdarstellung eines Bildes zurück.
 
Methods inherited from class
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GreenfootImage

public GreenfootImage(GreenfootImage image)
               throws IllegalArgumentException
Erzeugt ein GreenfootImage aus einem anderen GreenfootImage.

Throws:
IllegalArgumentException

GreenfootImage

public GreenfootImage(int width,
                      int height)
Erzeugt ein leeres (transparentes) Bild mit angegebener Größe.

Parameters:
width - Die Breite des Bildes in Pixel.
height - Die Höhe des Bildes in Pixel.

GreenfootImage

public GreenfootImage(String filename)
               throws IllegalArgumentException
Erzeugt ein GreenfootImage aus einer Bilddatei. Unterstützte Dateiformate sind jpg, gif und png. Groß- und Kleinschreibung wird unterschieden.

Der Dateiname kann ein absoluter Pfad sein oder ein Name einer Datei, die im Ordner 'Image' im Projektverzeichnis gespeichert ist.

Parameters:
filename - Der Name einer Datei im Projektverzeichnis.
Throws:
IllegalArgumentException - Wenn das Bild nicht geladen werden kann.

GreenfootImage

public GreenfootImage(String string,
                      int size,
                      Color foreground,
                      Color background)
Erstellt ein Bild des übergebenen Texts (string) in der gegebenen Schriftgröße (size) mit den gegebenen Farben. Falls der Text über mehrere Zeilen verfügt, werden diese Zeilen horizontal-zentriert untereinander gezeichnet.

Parameters:
string - Der zu zeichnende Text
size - Die Zeilenhöhe in Pixel (weicht um bis zu einem Pixel ab)
foreground - Die Schriftfarbe (seit Greenfoot 2.2.0 bedeutet null schwarz)
background - Die Hintergrundfarbe (seit Greenfoot 2.2.0 bedeutet null Transparenz)
Since:
2.0.1
Method Detail

clear

public void clear()
Löscht das Bild.


drawImage

public void drawImage(GreenfootImage image,
                      int x,
                      int y)
Zeichnet das übergebene Bild auf dieses Bild.

Parameters:
image - Das Bild, welches aufgezeichnet werden soll.
x - x-Koordinate zum Zeichnen des Bildes.
y - y-Koordinate zum Zeichnen des Bildes.

drawLine

public void drawLine(int x1,
                     int y1,
                     int x2,
                     int y2)
Zeichnet eine Linie zwischen den Punkten (x1, y1) und (x2, y2) in der aktueller Farbe.

Parameters:
x1 - x-Koordinate des ersten Punktes.
y1 - y-Koordinate des ersten Punktes.
x2 - x-Koordinate des zweiten Punktes.
y2 - y-Koordinate des zweiten Punktes.

drawOval

public void drawOval(int x,
                     int y,
                     int width,
                     int height)
Zeichnet den Rahmen eines Ovals in ein angegebenes Rechteck mit aktueller Farbe.

Parameters:
x - x-Koordinate der oberen linken Ecke des Ovals.
y - y-Koordinate der oberen linken Ecke des Ovals.
width - Die Breite des Ovals.
heigth - Die Höhe des Ovals.

drawPolygon

public void drawPolygon(int[] xPoints,
                        int[] yPoints,
                        int nPoints)
Zeichnet ein Polygon, welches durch ein Feld (Array) von x und y-Koordinaten definiert ist.

Diese Methode zeichnet ein Polygon, welches durch nPoints Koordinatenpaare festgelegt wird. Das erste Koordinatenpaar steht im Feld an Stelle nPoint - 1. Gezeichnet wird von dem Koordinatenpaar (xPoints[i - 1], yPoints[i - 1]) bis (xPoints[i], yPoints[i]), für 1 <= i <= nPoints. Falls der erste und der letzte Punkt unterschiedlich sind, wird die Figur automatisch geschlossen, indem eine Linie von dem letzten zum ersten Punkt gezeichnet wird.

Der Bereich innerhalb des Polygons ist durch eine gerade-ungerade Füllregel definiert, auch bekannt als "alternative Regel".

Parameters:
xPoints - Ein Feld mit x-Koordinaten.
yPoints - Ein Feld mit y-Koordinaten.
nPoints - Die Anzahl der Punkte des Polygons.

drawRect

public void drawRect(int x,
                     int y,
                     int width,
                     int height)
Zeichnet den Rahmen eines angegeben Rechtecks. Die linke und rechte Kante befinden sich an der Koordinate x und x + width - 1. Die obere und untere Kante befindet sich an der Koordinate y und y + heigth -1. Das Rechteck bedeckt einen Bereich von width Bildpunkten Breite und height Bildpunkten Höhe. Das Rechteck wird mit der aktuellen Farbe gezeichnet.

Parameters:
x - x-Koordinate des zu zeichnenden Rechtecks.
y - y-Koordinate des zu zeichnenden Rechtecks.
width - Die Breite des zu zeichnenden Rechtecks.
heigth - Die Höhe des zu zeichnenden Rechtecks.

drawShape

public void drawShape(Shape shape)
Zeichnet eine Form (Shape) direkt auf das Bild. Formen werden in dem Interface Shape beschrieben.

Parameters:
shape - Die zu zeichnende Form.

drawString

public void drawString(String string,
                       int x,
                       int y)
Schreibt die übergebene Zeichenkette mit aktuellem Zeichensatz und Farbe. Die Grundlinie des am weitesten links liegenden Buchstabens ist an der Position (x, y).

Parameters:
string - Die zu zeichnende Zeichenkette.
x - Die x-Koordinate.
y - Die y-Koordinate.

fill

public void fill()
Füllt das ganze Bild mit der aktuellen Zeichenfarbe.


fillOval

public void fillOval(int x,
                     int y,
                     int width,
                     int height)
Zeichnet ein gefülltes Oval in ein angegebenes Rechteck mit aktueller Farbe.

Parameters:
x - x-Koordinate der oberen linken Ecke des Ovals.
y - y-Koordinate der oberen linken Ecke des Ovals.
width - Die Breite des Ovals.
heigth - Die Höhe des Ovals.

fillPolygon

public void fillPolygon(int[] xPoints,
                        int[] yPoints,
                        int nPoints)
Zeichnet ein gefülltes Polygon, welches durch ein Feld (Array) von x und y-Koordinaten definiert ist.

Diese Methode zeichnet ein Polygon, welches durch nPoints Koordinatenpaare festgelegt wird. Das erste Koordinatenpaar steht im Feld an Stelle nPoint - 1. Gezeichnet wird von dem Koordinatenpaar (xPoints[i - 1], yPoints[i - 1]) bis (xPoints[i], yPoints[i]), für 1 <= i <= nPoints. Falls der erste und der letzte Punkt unterschiedlich sind, wird die Figur automatisch geschlossen, indem eine Linie von dem letzten zum ersten Punkt gezeichnet wird.

Der Bereich innerhalb des Polygons ist durch eine gerade-ungerade Füllregel definiert, auch bekannt als "alternative Regel".

Parameters:
xPoints - Ein Feld mit x-Koordinaten.
yPoints - Ein Feld mit y-Koordinaten.
nPoints - Die Anzahl der Punkte des Polygons.

fillRect

public void fillRect(int x,
                     int y,
                     int width,
                     int height)
Füllt das angegebene Rechteck. Die linke und rechte Kante befinden sich an der Koordinate x und x + width - 1. Die obere und untere Kante befindet sich an der Koordinate y und y + heigth -1. Das Rechteck bedeckt einen Bereich von width Bildpunkten Breite und height Bildpunkten Höhe. Das Rechteck wird mit der aktuellen Farbe gefüllt.

Parameters:
x - x-Koordinate des zu füllenden Rechtecks.
y - y-Koordinate des zu füllenden Rechtecks.
width - Die Breite des zu füllenden Rechtecks.
heigth - Die Höhe des zu füllenden Rechtecks.

fillShape

public void fillShape(Shape shape)
Zeichnet eine gefüllte Form (Shape) direkt auf das Bild. Formen werden in dem Interface Shape beschrieben.

Parameters:
shape - Die zu zeichnende Form.

getAwtImage

public BufferedImage getAwtImage()
Gibt das java.awt.image.BufferedImage, auf dem das GreenfootImage basiert, zurück. Jede Änderung an dem zurück gelieferten Bild verändert auch das GreenfootImage.

Returns:
Das java.awt.image.BufferedImage, auf dem das GreenfootImage basiert.
Since:
1.0.2

getColor

public Color getColor()
Gibt die aktuelle Farbe zum Zeichnen zurück.

Returns:
Die aktuelle Farbe.

getColorAt

public Color getColorAt(int x,
                        int y)
Gibt die Farbe des Bildpunktes an den übergebenen Koordinaten zurück.

Returns:
Farbe des Pixels.
Throws:
IndexOutOfBoundsException - Wenn die Pixelkoordinate nicht im Bild ist.

getFont

public Font getFont()
Gibt den aktuellen Zeichensatz zurück.


getHeight

public int getHeight()
Gibt die Höhe des Bildes zurück. return Höhe des Bildes.


getTransparency

public int getTransparency()
Gibt die aktuelle Transparenz des Bildes zurück.

Returns:
Ein Wert zwischen 0 und 255. 0 bedeutet vollständige Transparenz (unsichtbar) und 255 bedeutet, dass das Bild vollständig undurchsichtig ist (Voreinstellung).

getWidth

public int getWidth()
Gibt die Breite des Bildes zurück. return Breite des Bildes.


mirrorHorizontally

public void mirrorHorizontally()
Spiegelt das Bild horizontal (Spiegelung um die x-Achse).


mirrorVertically

public void mirrorVertically()
Spiegelt das Bild vertikal (Spiegelung um die y-Achse).


rotate

public void rotate(int degrees)
Dreht das Bild um die Mitte.

Parameters:
degree - Drehwinkel im Uhrzeigersinn in Grad.

scale

public void scale(int width,
                  int height)
Skaliere das Bild auf eine neue Größe.

Parameters:
width - Breite des neuen Bildes.
height - Höhe des neuen Bildes.

setColor

public void setColor(Color color)
Setzt die Farbe zum Zeichnen. Diese Farbe wird für anschließende Zeichnungsoperationen benutzt.

Parameters:
color - Die zu benutzende Farbe.

setColorAt

public void setColorAt(int x,
                       int y,
                       Color color)
Setzt die Farbe des Bildpunktes an den angegebenen Koordinaten auf die angegebene Farbe.

Parameters:
x - x-Koordinate des Bildpunktes.
y - y-Koordinate des Bildpunktes.
color - Farbe des Bildpunktes.

setFont

public void setFont(Font f)
Setzt den als Parameter übergebenen Zeichensatz als neuen Zeichensatz. Dieser Zeichensatz wird für die sich anschließenden Textoperationen benutzt.

Parameters:
f - Den zu benutzenden Zeichensatz.

setTransparency

public void setTransparency(int t)
Setzt die Transparenz des Bildes.

Parameters:
t - Ein Wert zwischen 0 und 255. 0 bedeutet vollständige Transparenz (unsichtbar) und 255 bedeutet, dass das Bild vollständig undurchsichtig ist (Voreinstellung).

toString

public String toString()
Gibt die Textdarstellung eines Bildes zurück.

Overrides:
toString in class Object