Чекор по чекор
Почетни чекори со Java
Објектно оријентирани концепти во Јава - Прв дел
Објектно оријентирани концепти во Јава - Втор дел
Објектно оријентирани концепти во Јава - Трет дел
Јава сервлети - Прв дел
Единствен Јава објект (singleton)
Најчести 10 грешки што ги прават Java програмерите
повеќе...
Што е тоа ...
... IDE
... Tomcat
... објект?
... класа?
... наследување?
... интерфејс?
... наследување? (прашања и одговори)
повеќе...
За загревање
Нов проект во Eclipse?
Примитивни податочни типови
Променливи
Оператори
Доделувачки, аритметички и Unary оператори
Оператори за еднаквост, релации и услови
Изрази, искази и блокови
повеќе...
Како да ...
... конвертирам java.sql.Timestamp во java.util.Date
... зададам формат на датум
... ковертирам „long“ во HEX и обратно
... прочитам датотека и променам стринг
... креирам ZIP датотека
... поврзам Apache и Tomcat користејќи mod_jk
... пратам недефиниран број на атрибути до некоја метода
повеќе...
Java преку примери
new Socket(String addr,int port)
new URL(String address)
new URL(String protocol, String host, int port, String file)
CommPort: getInputStream()
CommPortIdentifier: getPortIdentifiers()
Statement: executeQuery(String sql)
Statement: getMaxRows()
повеќе...
Грешка
Нов напис
Рубрика:
Наслов:
  
  

страна број:123
Основи на 2D графика во Java
Цртање на произволни  облици

GeneralPath класата ни овозможува креирање на произволни облици преку специфицирање на серија од позиции помеѓу границите на обликот. Овие позиции можат да бидат повржани со прави линии или криви.

Површини (AREAS)


Со Area класата можат да се извршуваат Boolean операции како што се унија (union), пресек (intersection) и одземање (substraction) на било кои два Shape објекти. Оваа техника овозможува брзо креирање на комплексни Shape објекти  без притоа да мора да се опишува секоја права линија или крива.

GeneralPath

Ако сакаме да цртаме облици кои не се опфатени во java.awt.geom пакетот, на пример петоаголници, звезди или нешто сосема различно, ќе мора самите да ја опишеме патеката користејќи java.awt.geom.GeneralPath. Оваа класа го имплементира Shape интерфејсот и дозволува градење на патеки сегмент по сегмент.
public GeneralPath() – конструктор кој креира GeneralPath со дифолтно правило WIND_NON_ZERO.

За додавање на сегменти во GeneralPath се користат некои од следниве методи:
public void moveTo(float x,float y) – се поместува моменталната точка од патеката.
public void lineTo(float x, float y) – додава линија од моменталната точка до (x,y).
public void quadTo(float x1, float y1, float x2, float y2) – се додава квадратна крива на крајот од патеката. Контролни точки се x1 и y1 а крајни x2 и y2.
public void curveTo(float x1, float y1, float x2, float y2, float x3, float y3) – додава купична крива на крајот од патеката. x3 и y3 се крајни точки, а другите се контролни.
public void closePath() – се затвора моменталната патека со тоа што се додава линија од крајната точка на патеката до почетната.

Со методата append() може да се додаде целосна патека на тековната GeneralPath. Целосната синтакса е:
public void append(PathIterator pi, boolean connect) или
public void append(Shape s, boolean connect).

Следниот пример демонстрира како се црта искршена линија со GeneralPath:




// draw GeneralPath (polyline)
int x2Points[] = {0, 100, 0, 100};
int y2Points[] = {0, 50, 50, 0};
GeneralPath polyline =
    new GeneralPath(GeneralPath.WIND_EVEN_ODD, x2Points.length);

polyline.moveTo (x2Points[0], y2Points[0]);

for (int index = 1; index < x2Points.length; index++) {
      polyline.lineTo(x2Points[index], y2Points[index]);
};

g2.draw(polyline);


Со наредниот пример ќе покажеме како се црта полигон со GeneralPath:

// draw GeneralPath (polygon)
int x1Points[] = {0, 100, 0, 100};
int y1Points[] = {0, 50, 50, 0};
GeneralPath polygon =
    new GeneralPath(GeneralPath.WIND_EVEN_ODD, x1Points.length);
polygon.moveTo(x1Points[0], y1Points[0]);

for (int index = 1; index < x1Points.length; index++) {
        polygon.lineTo(x1Points[index], y1Points[index]);
};

polygon.closePath();
g2.draw(polygon);

Да забележиме дека единствената разлика помеѓу последниве два пример е методата closePath(). Оваа метода креира полигон од искршена линија со тоа што ќе исцрта права линија назад кон позицијата определена со последната употреба на moveTo.
страна број: 1 2 3 4 5 6 7 8 9 << претходна страна : : следна страна >> 
 
Коментирај
автор: Анонимус
Анонимните коментари ќе бидат објавувани веднаш после нивната проверка.
За да вашиот коментар биде веднаш валиден претходно пријавете се или креирајте свој профил


пребарување
најди
 
Форум
 
JugMK
GetJava Download Button
http://www.eclipse.org
 
 
 
 
Copyrights © 2006 - 2024 by Java.com.mk
Права и правила за користење на java.com.mk
Контакт адреса:
contact AT java.com.mk
Powered by Supernova v.0.70 beta
JavaTM и Java-базираните ознаки се трговски марки или регистрирани трговски марки на Sun Microsystems, Inc. во САД и други држави. Java.com.mk никако не соработува со Sun Microsystems, Inc.
Сите други трговски марки се сопственост на нивните сопственици.