Erstelle eine Funktion zum Zeichnen eines Rings und verwende diese auf verschiedene Weise, um die beschriebene Grafik zu erhalten.
Kurz nach Mausklick
Verwende dann für die Verpixelung verschachtelte for
-Schleifen, die mit get(x, y);
auf die einzelnen Bildpunkte zugreifen.
Laden und Anzeigen des Fotos
Vergröberung des Fotos
Variante: Mach die Kästchengröße abhängig von der Maus (Achte darauf, dass auch bei kleinen mouseX- und mouseY-Werten keine Endlosschleife entsteht)
Variante: Verändere die ausgelesene Farbe, bevor du sie als Füllfarbe einsetzt.
Such dir ein Foto (z.B. bei Flickr), schneide den Ballon aus und speichere das Bild mit einer Alpha-Maske.
Zeichne einen Himmelshintergrund. Alternativ kannst du auch ein Himmelsfoto als Hintergrund benutzen oder folgende Farbverlaufsfunktion verwenden:
/** * Gets current color of a gradient. * * start - Color to begin gradient with. * end - Color to fade to. * steps - Number of gradient steps. * current - Current step of the gradient. */ color getGradientColor(color start, color end, float steps, float current) { float r = red(start) + ((red(end) - red(start)) / steps * current); float g = green(start) + ((green(end) - green(start)) / steps * current); float b = blue(start) + ((blue(end) - blue(start)) / steps * current); return color(r,g,b); }
Variante: Animiere den Ballon.