Willkommen auf unserem Seminar-Blog

Immer auf dem aktuellen Stand bleiben

Dieser Seminar-Blog befindet sich noch im Aufbau und wird in den kommenden Tagen entsprechend verfeinert.

Member Login

Lost your password?

Registration is closed

Sorry, you are not allowed to register by yourself on this site!

You must either be invited by one of our team member or request an invitation by email at viad.info {at} zhdk {dot} ch.

4 | Do 24. Feb | OOP + PImage

Mehrere Konstruktoren

♦ Multiple Constructors Eine Klasse kann mehrere Konstruktoren haben. Dadurch lassen sich Objektinstanzen mit unterschiedlich vielen, im Extremfall auch ohne, Paramter erzeugen. Schau dazu das Bespiel der Kreisklasse mit mehreren Konstruktoren an. Aufgabe: Erweitere die Klasse deines grafischen Objekts von gestern mit mehreren Konstruktoren.

Vererbung

♦ Inheritance ♦ super Eine Klasse lässt sich mit 'class Strich extends Punkt' erweitern. Der Bauplan der Punkt Klasse wird übernommen und kann mit weiteren Methoden der Strich Klasse erweitert werden. Neben 'extends' ist 'super' ein wichtiger Befehl. Mit 'super' lassen sich der Konstruktor sowie Methoden der Mutterklasse aufrufen. Siehe Beispiel OOP Extends Aufgabe:
  1. Tauscht die im vorherigen Beispiel erstellten Klassen aus und erweitert diese unter Berücksichtigung von Vererbung.
  2. Wendet die Mutter und Kind Klassen in einer Animation an.

Entfernen eines Objekts

Mit der Zuweisung 'objektname = null;' wird ein Objekt 'zerstört.' Achtung: Methodenaufrufe des Objekts werden von diesem Zeitpunkt an eine NullPointer Exception ergeben. ... Das Objekt gibt es ja nicht mehr... Siehe Beispiel OOP Null Aufgabe: Erzeuge Instanzen deines graphischen Objekts und lösche diese der Reihe nach wieder mit der Taste 'd'.

PImage Klasse

♦ PImage Beispiele → Shiffman Example 15-1: Hello World Images → Shiffman Example 15-2: Image Sprite

Bildfilter mit tint()

Lest Seiten 255 – 259 Kapitel 15-3

Bildfilter selber schreiben

Kapitel 15.5 Pixels + Array Example 15.5, Seite 262 ansehen loadPixels() setPixels() Example 15.6, Seite 263 Achtung: Die Variablen x und y in der For  Schlaufe entsprechen NICHT der x und y Koordinate. Es ist genau umgekehrt: Variable x = Y Koordinate und Variable y = X Koordinate Image Pixels Example 15.7, Seite 265 Handmade Tint filter Example 15.8, Seite 266 Example 15.9, Seite 267 Duotone Image und Verwendung zweier Bilder, wovon nur eines dargestellt wird. Example 15.10, Seite 267 Convolution Example 15.12, Seite 269 Example 15.13, Seite 271 Bildfilter mit filter()

Aufgaben:

  1. Lade mehrere Bilder in ein Array und stelle das erste Bild auf dem Screen dar. Mit einem Klick ins Bild wird das nächste dargestellt. (Lösung: Shiffman 15-3: Bildarray)
  2. Berechne die durchschnittliche Helligkeit eines Bildes