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