public class PixelFeld
extends java.lang.Object
implements java.io.Serializable
Ein PixelFeld ist eine Ansammlzung vieler Pixel, es kann gezeichnet werden.
Es besteht aus mehreren Quadraten gleicher Groesse, die aneinandergereiht das Rechteck mit deren Groesse darstellen.
Achtung! Pixelfelder leiten sich nicht aus der notwendigen Ueberklasse Raum
ab, um direkt grafisch dargestellt werden zu koennen ein einzelnes Pixelfeld kann in einer unanimierten Figur dargestellt werden!
Constructor and Description |
---|
PixelFeld(int grX,
int grY,
int faktor)
Konstruktor fuer Objekte der Klasse PixelFeld
|
Modifier and Type | Method and Description |
---|---|
void |
angleichen(PixelFeld f)
Gleicht dieses PixelFeld an ein anderes an, sodass beide genau dieselben Inhalte haben.
|
int |
anzahlPixel()
Berechnet die Anzahl an Pixeln, die auf diesem PixelFeld liegen.
|
int |
breite() |
int |
breiteN() |
void |
dunkler()
Dunkelt alle Farbwerte ab.
|
void |
einfaerben(java.awt.Color c)
Sorgt fuer die einfarbige Darstellung des Feldes
|
PixelFeld |
erstelleKlon()
Erstellt ein neues PixelFeld mit exakt denselben Eigenschaften wie dieses.
|
int |
faktor() |
void |
faktorSetzen(int faktor)
Setzt den Groessenfaktor des Feldes.
|
void |
farbeSetzen(int x,
int y,
java.awt.Color c)
Setzt an einer bestimmten Position eine Farbe.
|
BoundingRechteck[] |
flaechen(float x,
float y)
Berechnet EXAKT die Flaechen aus denen dieses Pixel-Feld besteht.
|
java.awt.Color[][] |
getPic()
In dieser Methode werden die einzelnen Quadrate von ihrer Informationsdichte her zurueckgegeben.
|
void |
heller()
Hellt alle Farbwerte auf.
|
int |
hoehe() |
int |
hoeheN() |
void |
negativ()
Ändert alle Farben des Feldes in ihr Negativ um.
|
void |
transformieren(int r,
int g,
int b)
Transformiert alle Farbwerte um einen entsprechenden Betrag.
|
void |
zeichnen(java.awt.Graphics2D g,
int x,
int y,
boolean spiegelX,
boolean spiegelY)
Zeichnet das Feld mit einem bestimmten Verzug.
|
void |
zurueckFaerben()
Sorgt fuer die normale Darstellung des Feldes
|
public PixelFeld(int grX, int grY, int faktor)
Konstruktor fuer Objekte der Klasse PixelFeld
grX
- Die Breite der Figur in QuadratengrY
- Die Hoehe der Figur in Quadratenfaktor
- Der Genauigkeitsfaktor der Figur. MUSS groesser als 0 zu sein !public void faktorSetzen(int faktor)
Setzt den Groessenfaktor des Feldes.
faktor
- Der neue Groessenfaktorpublic void farbeSetzen(int x, int y, java.awt.Color c)
Setzt an einer bestimmten Position eine Farbe.
x
- Die Relative X-Position des zu aendernden Quadratsy
- Die Relative Y-Position des zu aendernden Quadratsc
- Die neu zu setzende Farbe. Ist dieser Wert null, so wird dieses Unterquadrat nicht mitgezeichnet.public int breite()
public int hoehe()
public int breiteN()
public int hoeheN()
public int faktor()
public void angleichen(PixelFeld f)
Gleicht dieses PixelFeld an ein anderes an, sodass beide genau dieselben Inhalte haben.
Achtung: Hierfür müssen beide PixelFelder die selben Maße in Länge und Breite haben (hierbei zählt nicht der Größenfaktor, sondern die Anzahl an Unterquadraten in Richtung x
und y
.
public void negativ()
Ändert alle Farben des Feldes in ihr Negativ um.
public void heller()
Hellt alle Farbwerte auf.
public void dunkler()
Dunkelt alle Farbwerte ab.
public void transformieren(int r, int g, int b)
Transformiert alle Farbwerte um einen entsprechenden Betrag.
Bei Uebertreten des Definitionsbereiches bleibtwird bei den Grenzen (0 bzw. 255) gehalten.
r
- Der Rot-Aenderungswertg
- Der Gruen-Aenderungswertb
- Der Blau-Aenderungswertpublic void einfaerben(java.awt.Color c)
Sorgt fuer die einfarbige Darstellung des Feldes
c
- Diese Farbe ist nun fuer alle farbeigen Quadrate die Farbepublic void zurueckFaerben()
Sorgt fuer die normale Darstellung des Feldes
public void zeichnen(java.awt.Graphics2D g, int x, int y, boolean spiegelX, boolean spiegelY)
Zeichnet das Feld mit einem bestimmten Verzug.
g
- Das zeichnende Graphics-Objektx
- Der Verzug in Richtung Xy
- Der Verzug in Richtung YspiegelX
- Ob dieses Pixelfeld entlang der X-Achse gespiegelt werden sollspiegelY
- Ob dieses Pixelfeld entlang der Y-Achse gespiegelt werden sollpublic java.awt.Color[][] getPic()
In dieser Methode werden die einzelnen Quadrate von ihrer Informationsdichte her zurueckgegeben.
public int anzahlPixel()
Berechnet die Anzahl an Pixeln, die auf diesem PixelFeld liegen.
public PixelFeld erstelleKlon()
Erstellt ein neues PixelFeld mit exakt denselben Eigenschaften wie dieses.
Diese Methode wird vor allem intern im FigurenEditor verwendet.
public BoundingRechteck[] flaechen(float x, float y)
Berechnet EXAKT die Flaechen aus denen dieses Pixel-Feld besteht.
x
- Die X-Startkoordinate der linken oberen Eckey
- Die Y-Startkoordinate der linken oberen Ecke