CATEGORII DOCUMENTE |
Desenarea obiectelor in Java2D se face prin definirea lor ca forme geometrice, folosind clasele pachetului java,awt.geom.Putem desena toate formele intalnite pana acum - linii, dreptunghiuri, ovale, arce si poligoane.
Clasa Graphics2D nu poseda metode diferite pentru desenarea fiecareia dintre forme.In schimb se defineste mai intai forma dorita si apoi se foloseste ca argument pentru una dintre metodele fill() sau draw().
Se creaza folosind clasa Line2d.Float.Aceasta clasa preia patru argumente:coordonetele x, y ale unui capat de segment si coordonatele x, y ale celuilalt capat:
Line2D.Float ln=new Line2D.Float(60f,5f,13f,28f);
Aceasta instructiune creeaza o linie intre punctele 60,5 si 13,28.Mentionam utilizarea literei f pentru specificarea tipului float pentru argumente.
Acestea sunt create folosind clasele Rectangle2D.Float sau Racrtangle2D.Double.Diferenta intre cele doua este tipul argumentelor.
Rectangle2D.Float primeste patru argumente:coordonatele x, y, latimea si inaltimea:
Rectangle2D.Float dr=new Rectangle2D.Float(10f,13f,40f,20f);
Obiectele ovale sunt numite in Java2D elipse si pot fi create cu clasa Ellipse2D.Float.Este nevoie de patru argumente:coordonatele x, y, latimea si inaltimea.
Instructiunea de mai jos creaza o elipsa la coordonata 113,25 cu o latime de 22 pixeli si o inaltime de 40 pixeli:
Ellipse2D.Float el-new Ellipse2D.Float(113,25,22,40);
Acestea sunt create prin clasa Arc2D.Float.Sunt create asemanator cu versiunea lor non-2D dar cu o diferenta:putem stabili modul de inchidere.
Arc2D.Float primeste sapte argumente.Primele patru se refera la elipsa din care face parte arcul:coordonatele x, y, latimea si inaltimea.Ultimele trei se refera la unghiul de unde incepe desenarea, numarul de grade pe care se intinde si un intreg care stabileste modul de inchidere.
Exista o deosebire fata de arcele non-2D:numarul de grade pe care se intinde arcul 2D este specificat ca avand sensul pozitiv in sensul acelor de ceas.
Ultimul argument foloseste una dintre variabilele de clasa:Arc2D.OPE (pentru arc dechis), Arc2D.CHORD (pentru un arc ale carui capete sunt unite printr-o linie dreapta) si Arc2D.PIE (pentru un arc cu capetele unite prin intermediul centrului elipsei.Mai trebuie mentionat ca stilul de inchidere Arc2D.OPEN nu se aplica arcelor umplute ; un astfel de arc umplut va fi autonat inchis cu stilul Arc2D.CHORD.
Instructiunile de mai jos creaza un arc dintr-o elipsa cu coordonatele 27,22, 42 de pixeli latime si 30 inaltime.Arcul incepe la 33 de grade, se intinde pe 90 de grade in sensul acelor de ceas si va fi inchis prin intermediul centrului elipsei:
Arc2D.Float arc=new Arc2D.Float(27,22,42,30,33,90,Arc2D.PIE);
Acestea sunt create in Java2D prin deplasarile dintr-un punct al poligonului in altul.Un poligon poate fi format din linii drepte, curbe patratice sau curbe Bezier.
Deplasarile necesare pentru crearea poligonului sunt definite in obiectul GeneralPath, care apartine pachetului java.awt.geom.
Un obiect GeneralPath poate fi creat fara argumente:
GeneralPath polig=new GeneralPath();
Metoda moveTo() a clasei GeneralPath este folosita pentru a crea primul punct al poligonului.Urmatoarea instructiune poate fi folosita pentru a incepe poligonul de la coordonatele 5,0:
polig.moveTo(5f,5f);
Dupa crearea primului punct, metoda lineTo() se foloseste pentru crearea unei linii care incepe din punctul curent si se termina intr-un nou punct.Metoda primeste doua argumente:coordonatele x si y ale noului punct.
Urmatoarele instructiuni creaza trei linii pentru obiectul polig:
polig.lineTo(205f,0f);
polig.lineTo(205f,90f);
polig.lineTo(5f,90f);
Metodele lineTo() si moveTo() primesc ca argumente ale coordonatelor valori float().Daca vrem sa inchidem un poligon se poate folosi metoda closePath() fara nici un argument:
polig.closePath();
Aceasta metoda inchide un poligon prin conectarea punctului curent cu punctul specificat in cel mai recent apel de metoda moveTo().Putem inchide poligonul si fara aceasta metoda, prin folosirea metodei LineTo() care conecteaza punctul curent cu punctulinitial al poligonului.
O data creata forma poligonala ea poate fi reprezentata (desenata) ca orice alt obiect, cu metodele fill() sau draw().
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1014
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved