Temat : Zarządzanie plikami graficznymi - Dydaktyka

Transkrypt

Temat : Zarządzanie plikami graficznymi - Dydaktyka
Laboratorium
Projektowanie aplikacji multimedialnych
Temat :
Zarządzanie plikami graficznymi
Historia zmian
Data
25.10.2010
Wersja
1.0
Autor
Tomasz Kowalski
Opis zmian
Utworzenie dokumentu i pierwsza wersja laboratorium
1. Cel laboratorium
Głównym celem laboratoriów jest zapoznanie się z bibliotekami języka Java
wykorzystywanymi w implementacji aplikacji do zarządzania plikami reprezentującymi obrazy do
przetwarzania obrazów.
2. Zasoby
2.1. Wymagane oprogramowanie
Polecenia laboratorium będą dotyczyły programowania aplikacji z GUI w języku Java.
Potrzebne będzie środowisko dla programistów (JDK – Java Development Kit 1) oraz zintegrowana
platforma programistyczna (np. Eclipse2).
2.1. Materiały pomocnicze
•
•
•
Materiały dostępne w Internecie:
Java™ Platform, Standard Edition 6 API Specification
http://download.oracle.com/javase/6/docs/api/
Java Tutorial: Working with Images
http://download.oracle.com/javase/tutorial/2d/images/index.html
wykłady z przedmiotu PAM:
http://coach.kis.p.lodz.pl/
3. Laboratorium:
Zaprojektuj aplikacje Java o następujących możliwościach:
•
otwieranie plików z obrazem,
•
wyświetlanie obrazu (z paskami przewijania, powiększaniem i pomniejszaniem),
•
zapisywanie obrazów, używając dowolnego dostępnego formatu pliku,
•
opcja konwersji z obrazu w skali szarości (256 poziomów) do truecolor (24 bity).
WSKAZÓWKI DO IMPLEMENTACJI
1. Wykorzystaj m.in. następujące klasy Java API: JMenu, JMenuItem, JFileChooser, File,
ImageIO (metoda read), BufferedImage (metoda getRGB).
2. Zaprojektuj GUI w sposób przemyślany: menu, pasek narzędzi. Przykładowe GUI jest
pokazane na ilustracji 1.
3. Zadbaj o:
•
dekompozycje GUI na części,
•
zapewnienie dużego stopnia niezależności silnika implementującego przewidywane w
przyszłości operacje na obrazach od GUI,
•
poprawne nazwy klas (np. klasy GUI opierające się o SWING mają zaczynać się na J),
•
interfejsy (nazwy zaczynają się na I) umożliwiające „ukrycie” szczegółowej
implementacji GUI i silnika,
•
przyjazny interfejs graficzny zwierający np. komunikaty o błędach w postaci okien
1 http://java.sun.com/javase/downloads/index.jsp
2 http://www.eclipse.org/
dialogowych (użyj fasady JOptionPane lub JDialog), menu kontekstowe, intuicyjna
obsługa zdarzeń myszki.
Ilustracja 1: Przykładowe GUI aplikacji do przetwarzania obrazów