Forum - HAJLO.COMmunity [ forum dyskusyjne, kasa za posty, forum młodzieżowe, forum wielotematyczne ]


Nabór do ekipy forum!!! Więcej informacji: Napisz PW

Użytkownicy przeglądający ten wątek: 1 gości



(Allegro)3. Prymitywy
(14-11-2010 19:56) #1

(Allegro)3. Prymitywy

Prymitywy

Prymitywy- zwykłe, podstawowe figury geometryczne takie jak, prostokąty, kwadraty, okręgi i linie.

Kodzik:

Kod:
#include <allegro.h>
int main()
{
allegro_init();
install_keyboard();
set_color_depth(16);
set_gfx_mode(GFX_AUTODETECT_WINDOWED,800,600,0,0);
clear_to_color(screen, makecol(128,128,128));
// RYSOWANIE
// Piksel
putpixel(screen, 10, 20, makecol(255,0,255));
putpixel(screen, 10, 30, makecol(255,255,0));
// Kąt
arc(screen, SCREEN_W/2, SCREEN_H/2,itofix(0), itofix(128), 100, makecol(0, 0, 0));
// Linie
hline(screen, 20, 400, 500, makecol(255,255,255));
vline(screen, 20, 400, 500, makecol(255,255,255));
line( screen,400,200,600,400, makecol(255,128,64));
// Trójkąt
triangle(screen, 20,20,60,60,20,60,makecol(255,0,128));
// Prostokąt
rectfill(screen, 500, 400, 700, 500, makecol(128,30,30));
rect(screen, 490, 390, 710, 510, makecol(30,30,30));
// Okrąg
circle(screen, 100, 100,50, makecol(255,64,64));
circlefill(screen, 100, 100,40, makecol(255,64,64));
// Elipsa
ellipse(screen, 300, 50, 60, 40, makecol(128,20,128));
ellipsefill(screen, 300, 50, 50, 30, makecol(128,20,20));
// Wypełnianie
ellipse(screen, 700,200,80,30,makecol(50,50,50));
floodfill(screen,700,200,makecol(20,120,20));

readkey();
allegro_exit();
return 0;
}
END_OF_MAIN();


arc(screen, 300, 300, itofix(0), itofix(128), 100, makecol(0, 0, 0));- Rysuje ona łuk okręgu jej parametry to : wskaźnik do bitmapy, pozycja X, pozycja Y środka okręgu, kąt początkowy, kąt końcowy, promień, i kolor. Rysowanie zaczyna się od osi X, a następnie przechodzi przez I, II, III, i IV ćwiartkę układu współrzędnych. Wyjaśnienia wymaga tajemnicza funkcja itofix(), służy ona do konwertowania kąta na typ fixed, gdyż w Allegro podajemy kąty jako liczbę z zakresu od 0 do 255 ( pełny obrót o 360 stopni).

line( screen,400,200,600,400, makecol(255,128,64));- Rysuje linię jej argumentami są : wskaźnik do bitmapy, X1, Y1, X2, Y2 oraz kolor.

hline(screen, 20, 400, 500, makecol(255,255,255));- Rysuje linię poziomą jej argumentami są : wskaźnik do bitmapy, X1, Y, X2 oraz kolor.

vline(screen, 20, 400, 500, makecol(255,255,255));- Rysuje linię pionową jej argumentami są : wskaźnik do bitmapy, X, Y1, Y2 oraz kolor.

floodfill(screen,700,200,makecol(20,120,20));- Wypełnia obszar podanym kolorem aż do napotkania jakiegokolwiek koloru innego niż ten od którego zaczynało się wypełnianie. Jej argumentami są : wskaźnik do bitmapy, pozycja X, pozycja Y oraz kolor.

Nie za ciekawe, co nie? Niestety, to są podstawy.

Proszę o nie kopiowanie tego artykułu bez mojej wiedzy.
Jeżeli chcesz go skopiować, wyślij mi E-Mail na adres makimaki97@o2.pl

Notatka od DamiaX, 07-12-2010 15:11:

Zamykam wątek ponieważ był on długo nie aktywny.
W celu otworzenia pisać na pw.





Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości

Linki

Copyrights

Tłumaczenie: Polski Support MyBB Silnik MyBB Styl: Darek