java11.pdf
(
47 KB
)
Pobierz
1874594 UNPDF
Java – Grafika
Klasa Graphics
Pakiet AWT zarówno w wersjach wcześniejszych jak i w wersji 2 wyposażony jest w klasę
Graphics, a od wersji 2 dodatkowo w klasę Graphics2D. Klasy te zawierają liczne metody
umożliwiające tworzenie i zarządzanie grafiką w Javie.
Podstawą pracy z grafiką jest tzw. kontekst graficzny, który jako obiekt posiada właściwości
konkretnego systemu prezentacji np. panelu. W AWT kontekst graficzny jest dostarczany do
komponentu poprzez następujące metody:
- paint
- paintAll
- update
- print
- printAll
- getGraphics
Obiekt graficzny (kontekst) zawiera informacje o stanie grafiki potrzebne dla podstawowych
operacji wykonywanych przez metody Javy. Zaliczyć tu należy następujące informacje:
- obiekt komponentu, który będzie obsługiwany,
- współrzędne obszaru rysowania oraz obcinania,
- aktualny kolor,
- aktualne czcionki,
- aktualna funkcja operacji na pikselach logicznych (XOR lub Paint),
- aktualny kolor dla operacji XOR.
Posiadając obiekt graficzny (np.: Graphics g;) można wykonać szereg operacji rysowania:
g.drawLine
(int x1, int y1, int x2, int y2) - rysuje linię pomiędzy współrzędnymi (x1,y1) a (x2,y2),
używając aktualnego koloru,
g.drawRect
(int x, int y, int width, int height) - rysuje prostokąt o wysokości height i szerokości
width począwszy od punktu (x,y), używając aktualnego koloru,
g.drawString
(String str, int x, int y) - rysuje tekst str począwszy od punktu (x,y), używając
aktualnego koloru i czcionki,
g.drawImage
(Image img, int x, int y, Color bgcolor, ImageObserver observer) -wyświetla
aktualnie dostępny zestaw pikseli obrazu img na tle o kolorze bgcolor, począwszy od punktu (x,y)
g.drawOval
(int x, int y, int width, int height ) - rysuje elipsę o środku w punkcie x, y o danej
szerokości i wysokości
g.drawRoundRect
(int x, int y, int width, int height, int arcWidth, int arcHeight ) rysuje prostokąt
z "zaokrąglonymi" kątami
g.drawArc
(int x, int y, int width, int height, int startAngle, int arcAngle ) - rysuje łuk w oparciu o
elipsę począwszy od dowolnego kata, do dowolnego kąta
Java – Grafika
g.drawPolygon
(int[] xPoints, int[] yPoints, int nPoints ) rysuje wielokąt, jako pierwszy parametr
podaje się tablicę zawierającą współrzędne x wszystkich punktów tworzących wielokąt, drugi
parametr to tablica y, a trzeci to ilość punktów
g.drawPolyline
(int[] xPoints, int[] yPoints, int nPoints ) - rysuje linie łamaną opartą na podanych
punktach
g.setColor(Color c)
- ustawia aktualny kolor c np. Color.red
g.setFont(Font font)
- ustawia aktualny zestaw czcionek
W celu rysowania elementów grafiki konieczna jest znajomość układu współrzędnych w ramach,
którego wyznacza się współrzędne rysowania. Podstawowym układem współrzędnych w Javie jest
układ użytkownika, będący pewną abstrakcją układów współrzędnych dla wszystkich możliwych
urządzeń. Początek układu użytkownika zaczyna się w lewym górnym rogu ekranu. Układ
współrzędnych konkretnego urządzenia może pokrywać się z układem użytkownika lub nie. W razie
potrzeby współrzędne z układu użytkownika są automatycznie transformowane do właściwego
układu współrzędnych danego urządzenia.
Jako ciekawostkę można podać, że JAVA nie definiuje wprost metody umożliwiającej rysowanie
piksela, która w innych językach programowania służy często do tworzenia obrazów. W Javie nie
jest to potrzebne. Do tych celów służą liczne metody drawImage(). Niemniej łatwo skonstruować
metodę rysującą piksel np.
DrawPixel(Color c, int x, int y){
SetColor(c);
DrawLine(x,y,x,y);
}
Pierwotne wersje AWT definiują kilka obiektów geometrii jak np. Point, Rectangle. Elementy te są
bardzo przydatne dlatego, że, co jest właściwe dla języków obiektowych, nie definiujemy za
każdym razem prostokąta za pomocą atrybutów opisowych (współrzędnych) lecz przez gotowy
obiekt - prostokąt, dla którego znane są (różne metody) jego liczne właściwości.
Plik z chomika:
ell_lornzo
Inne pliki z tego folderu:
java14.pdf
(182 KB)
java13.pdf
(40 KB)
java12.pdf
(89 KB)
java11.pdf
(47 KB)
java10.pdf
(51 KB)
Inne foldery tego chomika:
c#
c++
Free Pascal
Zgłoś jeśli
naruszono regulamin