efekty graficzne i animowane dla aplikacji desktop java. tworzenie atrakcyjnych programów full version, moje ...
[ Pobierz całość w formacie PDF ]
Efekty graficzne
i animowane dla aplikacji
Desktop Java. Tworzenie
atrakcyjnych programw
Autor: Chet Haase, Romain Guy
TĀumaczenie: PaweĀ Gonera
ISBN: 978-83-246-1462-2
TytuĀ oryginaĀu:
Filthy Rich Clients:
Effects for Desktop Java(TM)
Applications (The Java Series)
Format: 180x235, stron: 584
Poznaj tajniki tworzenia efektownych, a jednoczeľnie funkcjonalnych aplikacji,
ktre przyciĴgajĴ rzesze klientw
¤
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Ĵ, ktra rozwija siķ w naprawdķ szalonym tempie, a uŃytkownicy
komputerw i konsumenci stawiajĴ coraz wiķksze wymagania wszelkim jej produktom.
Oczywiľcie, to, co atrakcyjne, przyciĴga, ale rwnie 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, ktrĴ trzymasz w rķkach.
W ksiĴŃce âEfekty graficzne i animowane dla aplikacji Desktop Java. Tworzenie atrakcyjnych
programwÒ autorzy w przystķpny, a czasami zabawny sposb 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 mechanizmw jķzyka Java, Swing,
Java 2D czy graficznych interfejsw uŃytkownika (GUI). Poznasz techniki tworzenia aplikacji
z bogatym interfejsem uŃytkownika, ktrĴ bķdziesz mgĀ wykonaě sam, poczynajĴc od szkicw
projektu, poprzez implementacjķ rŃnych elementw, aŃ do porywajĴcego koĺcowego efektu!
¤
Podstawy grafiki i interfejsw GUI
¤
Biblioteki grafiki pulpitu dla jķzyka Java
¤
Podstawy renderingu w Swing
¤
Java 2D
¤
Typy obrazw i ich przetwarzanie
¤
Gradienty
¤
Animacja
¤
Efekty statyczne i dynamiczne
¤
Tworzenie wĀasnych efektw
¤
Biblioteki Ï Animated Transitions i Timing Framework
Oto Twoje atrakcyjne aplikacje Ð wyjĴtkowe poĀĴczenie estetyki
i funkcjonalnoľci oraz milionw zadowolonych klientw!
Wydawnictwo Helion
ul. Koľciuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
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
Asynchroniczne żądania odrysowania .................................................................. 42
Synchroniczne żądania odrysowania ..................................................................... 43
Renderowanie w Swing .............................................................................44
paintComponent() ................................................................................................... 46
paint() ......................................................................................................................... 48
setOpaque() ............................................................................................................... 51
Podwójne buforowanie .............................................................................52
6
S
PIS TREŚCI
Wątki ..........................................................................................................55
Model wątków ........................................................................................................... 57
Stopery a wątek rozsyłania zdarzeń ....................................................................... 62
Bezbolesna obsługa wątków poprzez SwingWorker ........................................... 63
Podsumowanie wątków ........................................................................................... 66
Rozdział 3.
Podstawy grafiki ............................................................... 67
Java 2D .......................................................................................................67
Rendering ..................................................................................................69
Pobieranie obiektu Graphics ................................................................................... 70
Stan grafiki ................................................................................................................. 72
Elementarne operacje graficzne .............................................................................. 97
Rozdział 4.
Obrazy ........................................................................... 115
Typy obrazów ..........................................................................................116
BufferedImage .........................................................................................119
Skalowanie obrazów ................................................................................122
Jakość kontra wydajność ........................................................................................ 125
Metoda getFasterScaledInstance()
— narzędzie do szybszego i lepszego skalowania obrazów .............................. 134
Rozdział 5.
Wydajność ...................................................................... 137
Zastosowanie obcinania ..........................................................................137
Obrazy zapewniające zgodność ..............................................................143
Dlaczego powinniśmy się nimi zajmować? ......................................................... 143
Co można powiedzieć o obrazach zarządzanych? ............................................. 145
Zapewnianie zgodności .......................................................................................... 146
Obrazy zarządzane ..................................................................................148
Odczytywanie danych z DataBuffer ..................................................................... 152
Częste renderowanie obrazu ................................................................................. 154
Obrazy pośrednie ....................................................................................156
Zasada ogólna .......................................................................................................... 157
Jak to jest realizowane? .......................................................................................... 157
Uwagi ........................................................................................................................ 163
Podsumowanie ........................................................................................................ 165
Optymalne rysowanie figur ....................................................................165
Testowanie wydajności ...........................................................................167
Opcje wiersza poleceń .............................................................................167
Renderowanie .......................................................................................................... 169
Debugowanie wydajności ...................................................................................... 171
7
S
PIS TREŚCI
CZĘŚĆ II
RENDEROWANIE ZAAWANSOWANEJ GRAFIKI ..... 173
Rozdział 6.
Przezroczystość .............................................................. 175
Obiekt AlphaComposite .........................................................................175
Obiekt AlphaComposite. 12 reguł .........................................................177
Clear .......................................................................................................................... 179
Dst ............................................................................................................................. 179
DstAtop .................................................................................................................... 179
DstIn ......................................................................................................................... 180
DstOut ...................................................................................................................... 180
DstOver .................................................................................................................... 181
Src .............................................................................................................................. 182
SrcAtop ..................................................................................................................... 183
SrcIn .......................................................................................................................... 183
SrcOut ....................................................................................................................... 183
SrcOver ..................................................................................................................... 184
Xor ............................................................................................................................ 185
Tworzenie i konfigurowanie obiektu AlphaComposite .......................186
Typowe zastosowania AlphaComposite ................................................187
Zastosowanie reguły Clear .................................................................................... 187
Zastosowanie reguły SrcOver ............................................................................... 188
Zastosowanie reguły SrcIn .................................................................................... 189
Problemy z użyciem AlphaComposite ...................................................191
Tworzenie własnej klasy Composite ......................................................193
Tryb mieszania Add ............................................................................................... 193
Implementowanie CompositeContext ................................................................ 197
Łą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
Buforowanie gradientu .......................................................................................... 215
Sprytniejsze buforowanie ...................................................................................... 216
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
8
S
PIS TREŚCI
ConvolveOp .............................................................................................226
Tworzenie jądra ...................................................................................................... 228
Praca na krawędzi ................................................................................................... 229
LookupOp ................................................................................................231
RescaleOp ................................................................................................232
Własna klasa BufferedImageOp .............................................................234
Klasa bazowa filtra .................................................................................................. 234
Filtr barwiący ........................................................................................................... 236
Uwaga na temat wydajności ...................................................................241
Podsumowanie ........................................................................................242
Rozdział 9.
Szklany panel ................................................................. 243
Rysowanie na szklanym panelu ..............................................................246
Optymalizacja rysowania na szklanym panelu .................................................. 247
Blokowanie zdarzeń wejściowych ..........................................................250
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
Zarządzanie obiektami RepaintManager ............................................................ 270
Odbicia i RepaintManager ......................................................................271
Zapewnienie miejsca na odbicie ........................................................................... 272
Rysowanie odbicia .................................................................................................. 275
Prostszy, przez co sprytniejszy RepaintManager ............................................... 277
Podsumowanie ........................................................................................280
CZĘŚĆ III
ANIMACJA ............................................................. 281
Rozdział 12. Podstawy animacji .......................................................... 283
Wszystko o czasie ....................................................................................283
Podstawowe koncepcje ...........................................................................284
Animacja bazująca na ramkach ............................................................................ 284
Częstotliwość klatek ............................................................................................... 286
Ruch bazujący na czasie ......................................................................................... 286
[ Pobierz całość w formacie PDF ]