02 Farbmanipulation

Einstieg in das Thema

Was brauchst du als Basiswissen?

Du musst das RGB-System verstanden haben.

Worum geht es?

Du kannst die Farbe eines Oobjektes angeben. Wie das in den konkreten Programmiersprachen aussieht, kommt noch. Man kann das Verständnis aber noch vertiefen, indem man die Farben nach bestimmten Prinzipien verändert.

Was ist das Ziel?

Am Ende kannst du ein Bild verändern, das heißt, du kannst das Bild

  • aufhellen,
  • abdunkeln,
  • in ein Scharz-Weiß-Bild verwandeln
  • Farb- und Schzwarzweiß-Negative erstellen und
  • Farben positionsabhängig verändern.

Erarbeitung

Theorie

Aufgaben zur Erarbeitung

Aufgabe 1
Probiere das gezeigte Aufhellen und Abdunkeln mit eigenen Werten. Was passiert, wenn man das Aufhellen und Abdunkeln immer wieder macht?
Aufgabe 2
Gib für Rot r, für alle anderen Werte 0 ein. Was passiert?
Aufgabe 3
Gib für alle Werte r ein. Was passiert?
Aufgabe 4
Begründe, warum das so ist.
Aufgabe 5
Drücke Reset, gib nun überall b ein. Was ist gleich geblieben, was ist anders als bei (r,r,r)?
Aufgabe 6
Wie könnte man ein relativ gutes Schwarzweiß-Bild berechnen, das bei jeder Farbverteilung gut funktioniert? Gib hier die Berechnung an.

Vertiefung

Aufgabe 7
Gib bitte g bei Rot, b bei Grün und r bei Blau ein. Was passiert?
Aufgabe 8
Was passiert bei (255-r, 255-g, 255-b)? Wie könnte man das beschreiben?
Aufgabe 9
Wie kann man mit dem Wissen aus dem ersten Block ein Schwarzweiß-Negativ machen?

Noch mehr Aufgaben

Aufgabe 10
Mit den Variablen r, g und b bekommt man die RGB-Werte. Es gibt mit x und y noch zwei weitere Variablen. Drücke Reset und gib (r*x/600,g,b) ein. Was passiert?
Aufgabe 11
Was steht also in x?
Aufgabe 12
Versuche dich an einem gleichartigen Verlauf mit rot nach unten. Das Bild ist 400 Pixel hoch. Was hast du geschrieben?
Aufgabe 13
Schon in Klasse 10? Was passiert bei (r/2+r/2*Math.sin(0.1*x), g, b)?

Komplexe Aufgabe ohne KI

Bei dieser Aufgabe sollst du zeigen, dass du die Art der Berechnung von Farbwerten verstanden hast.

Gib ein:

für r Math.round(r/100)*100 für g Math.round(g/100)*100 für b Math.round(b/100)*100
Aufgabe 14
Was passiert?
Aufgabe 15
Was macht Math.round?
Aufgabe 16
Beschreibe mit eigene Worten auf Basis der Formeln, was mit den Farbwerten passiert.

Zusammenfassung

Was muss man wissen/können?

Du musst wissen, dass man mit mathematischen Operationen auf die Pixelwerte das Bild verändern kann. Und du kennst einige Klassiker der Bildveränderung und kannst auf deren Basis auch weitere umsetzen.

Was können anschließende Themen sein?

Genug Theorie. Du kannst nun die konkrete Umsetzung für eine Umgebung deiner Wahl (CSS+JavaScript, Java) wählen.

Zurück
Weiter