• Keine Ergebnisse gefunden

Praktikum 4. Mai 2011

N/A
N/A
Protected

Academic year: 2021

Aktie "Praktikum 4. Mai 2011"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Praktikum 4. Mai 2011

Jörn Loviscach

Versionsstand: 10. Mai 2011, 00:12

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Germany License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/de/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.

In diesem Praktikum soll ein Programm entwickelt werden, das mehrere Filter auf eine angegebene Bilddatei anwendet.

Beschreibung der grafischen Oberfläche: In einer ListBox sind alle verfügbaren Filter aufgelistet

c1

. Die Filter, die angewendet werden sollen, kann man anwählen,

c1

removed text by jl:sind

auch mehrere gleichzeitig: SelectionMode="Multiple" . Ein Button benutzt einen Microsoft.Win32.OpenFileDialog , um eine Bilddatei zu laden und das Ergebnis in einem Rechteck vom Typ Image anzuzeigen. Stellen Sie dieses auf Stretch="Uniform" , damit das Bild unverzerrt, aber möglichst formatfüllend erscheint.

Erzeugen Sie ein neues Projekt (C#, WPF) und fügen Sie die für dieses Prakti- kum vorgefertige Klasse Info2Praktikum.Bitmap hinzu. Mit den öffentlichen Methoden dieser Klasse können Sie Bilddateien laden, leere Bilder erzeugen und Farbwerte einzelner Pixel auslesen und setzen.

Die wesentliche Aufgabe dieses Praktikums besteht darin, mehrere Filter zu entwickeln. Alle Filter sollen eine gemeinsame Mutterklasse Filter haben. Diese Mutterklasse hat eine öffentliche virtuelle Methode Execute , die eine Bitmap entgegennimmt und eine gefilterte Bitmap zurückliefert.

Die Kindklassen überschreiben diese virtuelle Methode, um dort ihre eigentliche

Aktion durchzuführen. Außerdem überschreiben die Kindklassen die virtuelle

Methode ToString , um in der ListBox mit einem verständlichen Namen und

ggf. mit Daten zu den Einstellungen zu erscheinen.

(2)

Implementieren Sie folgende Kindklassen von Filter :

• Farbinvertierung: Alle Farbwerte v werden durch 255 − v ersetzt.

• Horizontale Spiegelung: Das Bild wird von links nach rechts geklappt.

• Helligkeitsanpassung: Jeder Farbwert wird mit einer gegebenen Zahl multi- pliziert. Diese Zahl wird dem Konstruktor dieser Kindklasse übergeben.

• Bildausschnitt: Das Bild wird auf ein vorgegebenes Rechteck abgeschnitten.

Lage und Größe dieses Rechtecks werden dem Konstruktor dieser Kindklasse übergeben.

Mögliche Erweiterungen: Umwandlung in Graustufen; Weichzeichnungsfilter; eine

Funktion, um die Reihenfolge der Filter zu ändern.

Referenzen

ÄHNLICHE DOKUMENTE

paintInside überschreiben, super.paintInside nicht aufrufen class ImageButton extends Button { ... void paintInside () {

• Bei super Suche von unten nach oben Keine java -Methoden vorhanden:. • Wie

For the classification task of detecting doors, we found out that it suffices to use the following simple features derived from a central radar: The maximum radius, the minimum

While in the case of outdoor vehicle navigation the distance in meter together with a turn hint is a good description such a description is merely useless for the indoor

Hinzu kommen die klassischen Motive für ein Praktikum: Drei von vier Befragten, nämlich 76%, wollen ihre Qualifikationen erweitern, 63 Prozent der Befragten dient das Praktikum zur

Tabelle 2: Absolute (N) und relative Häufigkeit von Praktika in der Stichprobe, durchschnittliche Dauer, geleistete Wochen- stunden, prozentualer Anteil unbezahlter Praktika

– Stuxnet und Siemens speicherprogrammierbare Steuerungen, Juni 2009 – Zero-Day-Lücke in Adobe Flash, 14.. Januar 2011 – fehlerhafte

Daß in dieser Schrift nicht alles berührt sein kann, was zur Lösung der Frage „Großstadt“ erforderlich ist, bedarf wohl keiner näheren Be- gründung, ist doch die