Skocz do zawartości

Temat został przeniesiony do archiwum

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

raphx

Tryb graficzny C

Rekomendowane odpowiedzi

czesc

Jak sie włacza tryb graficzny w c++?

 

Dodaje bibloteke GRAPHICS.H i co dalej....?

 

mam Borlanda c++ 4.51

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

initgraph(&ster, &tryb, scster);

 

gdzie &ster to rodzaj sterownika

&tryb - tryb grafiki

scster - scieżka do pliku ze sterownikiem.

 

Wszystko jest w helpie

 

Poza tym google...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jak dodaje biblioteke Graphics.h to mi taki komunikat wyskakuje:

"BGI graphics not supported under Windows".

Jak ustawic zeby wszystko było zgodne?

 

Czyzby w c/c++ tryb graficzny deklarowało sie jak w pascalu?;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wiem, że graphics.h działa w dosowym Borlandzie 3.1. A moduł graphics inicjuje się tak jak w pascalu, bo sobie ludzie z Borlanda tak dla uproszczenia wymyślili. Do C jest mnóstwo modułów graficznych (np. allegro).

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

no właśnie... nigdy nie wiedziałem jak w tym borlandzie 3.1 jakąś grafikę stworzyć.... to może dokładniej opiszesz, bo Szu uczy tylko algorytmów a ten drugi niczego nie uczy???? :P

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Poszukaj sobie na google pod hasłem "graphics.h" i poczytaj, przeanalizuj przykłądowe programy itp. Ja też dopiero zaczynam - dzisiaj miałem pierwszy wykład z graphics'a ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

dobrze widze "BGI" ? czy to jest tak samo wolne jak w wersji pod Pascalem ?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
dobrze widze "BGI" ? czy to jest tak samo wolne jak w wersji pod Pascalem ?

Niestety. Do tego dochodzi problem z działaniem edytora Borlanda pod WinXP, dlatego programy piszę w Devie i tylko kompiluję w BC. :E

 

I ten swój projekt też robię jednak na graphiksie a nie na allegro, bo nie mam czasu się uczyć tego drugiego ;)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Znacie moze jakas prosta biblioteke graficzna (pod borlanda badz Dev-c++) ktora by działała pod winXpsp2?

Potrzebyje taka zeby były w niej funkcje odpowiadajace paskalowyego:

lineto(x,y);

moveto(x,y);

setcolor(x,y);

outrextXY(); //chyba tak:)

i moze jeszcze jakies style lini i grubosc.

 

Musze za pomoca niej zrobic wykres.

BGI mi nie działa.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
... Do C jest mnóstwo modułów graficznych (np. allegro).

 

:)

Zajrzalem tutaj : http://alleg.sourceforge.net/readme.pl.html

i zauwazylam, ze biblioteka allegro powinna dzialac pod windowsem z kompilatorami borlanda i M$ :)

 

Moze to oznaczeg tylko to ze bedzie szybsza od BGI.

 

Tytaj pojawia sie moje pytanie: Jak wypada jej szybkosc w porownujac z funkcjami winapi 'sluzacymi do rysowania po okienkach' ?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie wiem ja wypada porównanie allegro z winapi, jednak jest to szybki moduł, z wieloma partiami pisanymi w asemblerze. Jest on o wiele szybszy od borlandowego graphics'a.

 

A allegro działa w wielu środowiskach. Na stronie jest pełen ich spis.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Zainstalowałem w dev-c++ biblioteke Allegro i SDL'a i mi wyskakuje taki komunikat dla obu:

 

[Linker error] undefined reference to `WinMain@16'

ld returned 1 exit status

 

O co chodzi? Jak to zrobic zeby działało

Zainstalowałem to przy pomocy Narzedzia/Sprawdz czy sa nowe uaktualnieni...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Musisz dodać do linkera dwa parametry.

 

wchodzisz w narzedzia-->opcje kompilatora, zaznaczasz pole przy 'dodaj te polecenia do wiersza polecen konsolidatora' i wpisujesz w polu ponizej parametry: -lalleg -mwindows

 

To dla allegro. Dla SDL'a nie wiem.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

plik -> nowy projekt -> sdl -> ok

i powinien byc utworzony plik, ktory skompiluje sie bez problemu

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

ok dzieki, biblioteki dzialaja juz dobrze.

 

Mam jeszcze takie male pytania:

Jak zrobic zeby dodatkowo otwieralo mi sie okno textowe?

Czy sa w allegro (sdl) gotowe funkcje do rysoania linii?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

/* linia w dowolnym kierunku */
function line( $x1, $y1, $x2, $y2, $color )
{
$deltax = abs($x2 - $x1) + 1;
$deltay = abs($y2 - $y1) + 1;

if( $x2 < $x1 ) $tmpx = -1;
else $tmpx = 1;

if( $y2 < $y1 ) $tmpy = -1;
else $tmpy = 1;


if( $deltay > $deltax )
 {
  $temp = $deltay;
  for( $a = 0; $a < (int)$deltay; $a++ )
{
	 imagesetpixel($obrazek, $x1, $y1, $color ); // wstawienie piksla
	 $temp = $temp - $deltax;
	 if ( $temp <= 0 )
	  {
	   $x1 = $x1 + $tmpx;
	   $temp = $temp + $deltay;
	  }
	 $y1 = $y1 + $tmpy;
	}
 }
else
 {
  $temp = $deltay;
  for( $a = 0; $a < (int)$deltax; $a++ )
{
	imagesetpixel( $obrazek, $x1, $y1, $color ); // wstawienie piksla, putpixel
	$temp = $temp - $deltay;
	 if ( $temp <= 0 )
	  {
	   $y1 = $y1 + $tmpy;
	   $temp = $temp + $deltax;
	  }
	 $x1 = $x1 + $tmpx;
	}
 }
}

przerob z php na c++

 

w sdl piksel mozesz wstawic poprzez:

((unsigned int*)gScreen->pixels)[screenofs] = kolor;

gdzie jako screenofs podajesz offset wzgledem punktu 0,0 (pamietaj, ze ekran to tak naprawde dluga prosta linia)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dzieki wszystkim za wypowiedzi.

Zrezygnowalem z C++ napisałem program w pascalu :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...