Java-Code? Array?

1 Antwort

Das Array verwendest du indem du es mit Informationen über das Bild füllst. Bei einem 3x3 Bild, das ein Punkt in der Mitte hat würde das Array so aussehen:

{255, 255, 255},
{255, 0, 255},
{255, 255, 255}

Jedes Schwarzweiß-Bild hat an Punkt X|Y eine gewisse Graustufe von 0-255 (Schwarz-Weiß).
du kannst her gehen und beispielsweise sagen:

_bilddaten[400][150] = 255;

Das geht natürlich viel schlauer, als jeden Punkt einzeln zu definieren. Da kommst du sicher drauf.


Mar3ike  18.12.2022, 17:00

offenbar hat sich die Frage in der zwischenzeit geändert.
Meine neue Antwort ist folgend:

Bei der Instanziierung von SWBild wird vom Bildleser die Bilddaten in Form von hellen und dunkln Punkten eingelesen.

Das könnte bei einem 3x3 Bild etwa so aussehen:{255, 255, 255},{255, 0, 255}, {255, 255, 255}

Jedes Schwarzweiß-Bild hat an Punkt X|Y eine gewisse Graustufe von 0-255 (Schwarz-Weiß). Rufst du die Methode dunkler() auf , so gibst du ihm ein Parameter mit, also einen Wert, mit der die Methode Stück für Stück alle Bildpunkte dunkler macht.

Der Delta ist zb 10. Alle Punkte des Bilds werden um 10 verringert. Ist 0 bereits erreicht, so wird der Punkt nicht dunkler (Weil es keinen Sinn macht). Am Ende wird das neue Bild angezeigt.

Hat das dir weitergeholfen?

0
Mathematik2000 
Fragesteller
 19.12.2022, 15:31
@Mar3ike

Wie kommen Sie auf diese Zahlen? {255, 255, 255},{255, 0, 255}, {255, 255, 255}

0
Mathematik2000 
Fragesteller
 18.12.2022, 17:13

Die Methode Dunkler habe ich immer noch nicht verstanden.

Können jede Zeile genau erklären, was passiert?

0
Mar3ike  19.12.2022, 11:24
@Mathematik2000
Von oben nach unten:

Zunächst wird in der If-Abgfrage die Minuswerte abgefangen, da die Methode nicht den Fall "heller" betrachten möchte.

Anschließend beginnt eine verschachtelte Schleife, zunächst durch alle Zeilen, und in jeder Zeile durch alle Spalten, um jeden Punkt des 2D-Arrays zu erreichen.
Die If-Abfrage innerhalb der verschachtelte For-Schleife prüft ab, ob der Wert des Bildpunkts größer 0 ist und falls ja, soll dieser um den Wert Delta verringert werden, aber 0 nicht unterschreiten.

Am ende wird mit zeichneBild() das neue Bild ausgegeben.
0