EFEKTY GRAFICZNE I ANIMOWANE DLA APLIKACJI DESKOP JAVA

* Jak tworzyć obrazy i wykorzystywać je w aplikacjach?
* Jak sterować działaniem animacji?
* Jak korzystać z grafiki pulpitu dla języka Java…

79.00

Na stanie


* Jak tworzyć obrazy i wykorzystywać je w aplikacjach?
* Jak sterować działaniem animacji?
* Jak korzystać z grafiki pulpitu dla języka Java?

Informatyka jest dziedziną, która rozwija się w naprawdę szalonym tempie, a użytkownicy komputerów i konsumenci stawiają coraz większe wymagania wszelkim jej produktom. Oczywiście, to, co atrakcyjne, przyciąga, ale równie istotna jest łatwość korzystania z produktu czy intuicyjność jego użytkowania. Współczesny klient oczekuje takiego właśnie idealnego połączenia. Jak tworzyć funkcjonalne, a jednocześnie efektowne aplikacje? Co powoduje, że klienci są zachwyceni i bawią się, używając aplikacji? O tym właśnie jest książka, którą trzymasz w rękach.

W książce "Efekty graficzne i animowane dla aplikacji Desktop Java. Tworzenie atrakcyjnych programów" autorzy w przystępny, a czasami zabawny sposób opisują dostępne technologie do tworzenia bogatych aplikacji. Czytając ją, nauczysz się, jak wykorzystywać grafikę i animację oraz w jakie efekty wyposażyć interfejs użytkownika, aby był naprawdę atrakcyjny. Z tego podręcznika dowiesz się wszystkiego na temat podstawowych mechanizmów języka Java, Swing, Java 2D czy graficznych interfejsów użytkownika (GUI). Poznasz techniki tworzenia aplikacji z bogatym interfejsem użytkownika, którą będziesz mógł wykonać sam, poczynając od szkiców projektu, poprzez implementację różnych elementów, aż do porywającego końcowego efektu!

* Podstawy grafiki i interfejsów GUI
* Biblioteki grafiki pulpitu dla języka Java
* Podstawy renderingu w Swing
* Java 2D
* Typy obrazów i ich przetwarzanie
* Gradienty
* Animacja
* Efekty statyczne i dynamiczne
* Tworzenie własnych efektów
* Biblioteki – Animated Transitions i Timing Framework

Spis treści
Słowo wstępne (13)
Przedmowa (15)
Podziękowania (21)
O autorach (23)
Wstęp (25)
Część I: Podstawy grafiki i interfejsów GUI (33)
Rozdział 1. Biblioteki grafiki pulpitu dla języka Java – Swing, AWT oraz Java 2D (35)

* Abstract Window Toolkit (AWT) (36)
* Java 2D (37)
* Swing (37)

Rozdział 2. Podstawy renderingu w Swing (39)

* Zdarzenia (40)
* Rysowanie w Swing (41)
o Asynchroniczne żądania odrysowania (42)
o Synchroniczne żądania odrysowania (43)
* Renderowanie w Swing (44)
o paintComponent() (46)
o paint() (48)
o setOpaque() (51)
* Podwójne buforowanie (52)
* Wątki (55)
o Model wątków (57)
o Stopery a wątek rozsyłania zdarzeń (62)
o Bezbolesna obsługa wątków poprzez SwingWorker (63)
o Podsumowanie wątków (66)

Rozdział 3. Podstawy grafiki (67)

* Java 2D (67)
* Rendering (69)
o Pobieranie obiektu Graphics (70)
o Stan grafiki (72)
o Elementarne operacje graficzne (97)

Rozdział 4. Obrazy (115)

* Typy obrazów (116)
* BufferedImage (119)
* Skalowanie obrazów (122)
o Jakość kontra wydajność (125)
o Metoda getFasterScaledInstance() – narzędzie do szybszego i lepszego skalowania obrazów (134)

Rozdział 5. Wydajność (137)

* Zastosowanie obcinania (137)
* Obrazy zapewniające zgodność (143)
o Dlaczego powinniśmy się nimi zajmować? (143)
o Co można powiedzieć o obrazach zarządzanych? (145)
o Zapewnianie zgodności (146)
* Obrazy zarządzane (148)
o Odczytywanie danych z DataBuffer (152)
o Częste renderowanie obrazu (154)
* Obrazy pośrednie (156)
o Zasada ogólna (157)
o Jak to jest realizowane? (157)
o Uwagi (163)
o Podsumowanie (165)
* Optymalne rysowanie figur (165)
* Testowanie wydajności (167)
* Opcje wiersza poleceń (167)
o Renderowanie (169)
o Debugowanie wydajności (171)

Część II: Renderowanie zaawansowanej grafiki (173)
Rozdział 6. Przezroczystość (175)

* Obiekt AlphaComposite (175)
* Obiekt AlphaComposite. 12 reguł (177)
o Clear (179)
o Dst (179)
o DstAtop (179)
o DstIn (180)
o DstOut (180)
o DstOver (181)
o Src (182)
o SrcAtop (183)
o SrcIn (183)
o SrcOut (183)
o SrcOver (184)
o Xor (185)
* Tworzenie i konfigurowanie obiektu AlphaComposite (186)
* Typowe zastosowania AlphaComposite (187)
o Zastosowanie reguły Clear (187)
o Zastosowanie reguły SrcOver (188)
o Zastosowanie reguły SrcIn (189)
* Problemy z użyciem AlphaComposite (191)
* Tworzenie własnej klasy Composite (193)
o Tryb mieszania Add (193)
o Implementowanie CompositeContext (197)
o Łączenie pikseli (198)
* Podsumowanie (200)

Rozdział 7. Gradienty (201)

* Dwuelementowy gradient liniowy (202)
* Efekty specjalne korzystające ze zwykłych gradientów (204)
* Wieloelementowy gradient liniowy (208)
* Gradient kołowy (211)
* Optymalizacja gradientów (214)
o Buforowanie gradientu (215)
o Sprytniejsze buforowanie (216)
o Optymalizacja z użyciem gradientów cyklicznych (217)

Rozdział 8. Przetwarzanie obrazu (219)

* Filtry obrazów (219)
* Przetwarzanie obrazu za pomocą BufferedImageOp (221)
* AffineTransformOp (223)
* ColorConvertOp (224)
* ConvolveOp (226)
o Tworzenie jądra (228)
o Praca na krawędzi (229)
* LookupOp (231)
* RescaleOp (232)
* Własna klasa BufferedImageOp (234)
o Klasa bazowa filtra (234)
o Filtr barwiący (236)
* Uwaga na temat wydajności (241)
* Podsumowanie (242)

Rozdział 9. Szklany panel (243)

* Rysowanie na szklanym panelu (246)
o Optymalizacja rysowania na szklanym panelu (247)
* Blokowanie zdarzeń wejściowych (250)
o Problemy ze zdarzeniami myszy (251)

Rozdział 10. Panele warstwowe (255)

* Wykorzystanie paneli warstwowych (256)
* Porządkowanie komponentów wewnątrz jednej warstwy (260)
* Panele warstwowe i warstwy (261)
* Alternatywa dla JLayeredPane w postaci obiektów Layout (262)

Rozdział 11. Zarządca rysowania (267)

* Gdy Swing staje się zbyt sprytny (267)
* Poznajemy RepaintManager (269)
o Zarządzanie obiektami RepaintManager (270)
* Odbicia i RepaintManager (271)
o Zapewnienie miejsca na odbicie (272)
o Rysowanie odbicia (275)
o Prostszy, przez co sprytniejszy RepaintManager (277)
* Podsumowanie (280)

Część III: Animacja (281)
Rozdział 12. Podstawy animacji (283)

* Wszystko o czasie (283)
* Podstawowe koncepcje (284)
o Animacja bazująca na ramkach (284)
o Częstotliwość klatek (286)
o Ruch bazujący na czasie (286)
* Mierzenie czasu (oraz narzędzia pomiaru czasu platformy) (293)
o "Która godzina?" (293)
o "Czy mogę zamówić budzenie?" (296)
o "Zadzwoń do mnie ponownie. I ponownie. I ponownie" (298)
* Rozdzielczość stopera (305)
o Rozdzielczość System.currentTimeMillis() oraz System.nanoTime() (308)
o Rozdzielczość usypiania (310)
o Rozdzielczość stopera (315)
o Rozwiązanie problemu rozdzielczości (317)
* Animacje w aplikacjach Swing (318)
o Grafika animowana (319)
o Animowany interfejs użytkownika (321)
* Podsumowanie (331)

Rozdział 13. Płynne przesunięcia (333)

* Podstawy. Dlaczego moja animacja źle wygląda? (333)
* Co powoduje "szarpanie" animacji i jak można ją wygładzić? (334)
o Synchronizacja jest (niemal) wszystkim (335)
o Kolor – co za różnica? (338)
o Pionowy powrót plamki – poczucie synchronizacji (348)
* SmoothMoves – program demonstracyjny (353)
o Tworzenie obiektów graficznych (353)
o Uruchamianie stopera (354)
o Renderowanie (355)
o Opcje renderowania (356)
* Podsumowanie (360)

Rozdział 14. Biblioteka Timing Framework. Podstawy (361)

* Wstęp (361)
* Podstawowe koncepcje (363)
o Animator (364)
o Wywołania zwrotne (366)
o Czas trwania (368)
o Powtarzanie (369)
o Rozdzielczość (370)
o Operacje startowe (370)
* Interpolacja (377)
o Przyspieszenia i opóźnienia (378)
o Interpolator (383)
* Podsumowanie (395)

Rozdział 15. Biblioteka Timing Framework. Funkcje zaawansowane (397)

* Wyzwalacze (398)
o Koncepcje i wykorzystanie (398)
o Klasy bazowe wyzwalaczy (400)
o Wbudowane wyzwalacze (400)
* Metody ustawiania właściwości (410)
o PropertySetter (413)
o Evaluator (417)
o KeyFrames (419)
* Podsumowanie (437)

Część IV: Efekty (439)
Rozdział 16. Efekty statyczne (441)

* Rozmycie (441)
o Motywacja (441)
o Proste rozmycie (443)
o Rozmycie Gaussa (446)
o Sposób na wydajność (451)
* Odbicia (452)
o Motywacja (453)
o Rysowanie odbić (453)
o Rozmyte odbicia (454)
* Rzucanie cieni (455)
o Motywacja (455)
o Proste rzucanie cieni (457)
o Realistyczne rzucanie cieni (459)
* Wyróżnienia (460)
o Motywacja (461)
o Rozjaśnienie (462)
o Oświetlenie punktowe (464)
o Podświetlanie tekstu dla zapewnienia lepszej czytelności (466)
* Wyostrzanie (468)
o Motywacja (468)
o Proste wyostrzanie (470)
o Wyostrzanie selektywne (472)
o Wyostrzanie zmniejszonych obrazów (473)
* Podsumowanie (476)

Rozdział 17. Efekty dynamiczne (477)

* Ruch (478)
o Motywacja (478)
o Ruch (480)
* Zanikanie (483)
o Motywacja (483)
o Strategie zanikania (486)
o Zanikanie przy użyciu AlphaComposite (486)
o Zanikanie koloru (488)
o Wzajemne przenikanie (490)
o Proste zanikanie (490)
* Pulsowanie (491)
o Motywacja (491)
o Poczuj puls (492)
o Automatyczne podświetlenie (496)
o Przyspieszony puls (501)
* Sprężyny (503)
o Motywacja (504)
o Gorączka sprężynowania (505)
* Morfing (508)
o Motywacja (508)
o Morfing przycisków (510)
* Podsumowanie (514)

Rozdział 18. Biblioteka Animated Transitions (515)

* Płynne animowanie stanu aplikacji (515)
o Zasada ogólna (516)
* Płynne przejścia – biblioteka (519)
o Animacja stanu aplikacji (519)
o Stany GUI (519)
o API (520)
o Efekty (527)
o Struktura GUI (540)
o Obrazy i ImageHolder (540)
o ScreenTransition (542)
* Płynne przejścia – mechanizmy wewnętrzne, czyli jak zmusić Swing do takich rzeczy (543)
o Konfigurowanie następnego ekranu – po cichu (544)
o Animowanie zmian układu (545)
o Przyspieszanie Swing – wydajność (546)
* Podsumowanie (546)

Rozdział 19. Narodziny bogatego interfejsu użytkownika (547)

* Aerith (547)
o Uruchamianie programu Aerith (548)
o Organizacja kodu (549)
* Projekt przepływu sterowania na papierze (549)
* Wizja (551)
* Projektowanie ekranu na papierze (553)
* Makiety (553)
* Od makiety do kodu (555)
o Zastosowanie warstw (556)
o Tryby mieszania (557)
o Stosowanie prowadnic (558)
* Ale… ja nie jestem artystą! (559)
* Wybór ładnych kolorów (561)
* Książki na temat projektowania (563)
* Podsumowanie (564)

Zakończenie (565)
Skorowidz (569)

Autor

ISBN

978-83-246-1462-2

Liczba stron

Rok wydania

Wydawca

Opinie

Na razie nie ma opinii o produkcie.

Napisz pierwszą opinię o „EFEKTY GRAFICZNE I ANIMOWANE DLA APLIKACJI DESKOP JAVA”