Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicitÓ e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Pascal - Libreria Graph con il free-pascal
Forum - Pascal - Libreria Graph con il free-pascal

Avatar
Alex (Ex-Member)
Expert


Messaggi: 441
Iscritto: 15/08/2005

Segnala al moderatore
Postato alle 9:26
Martedý, 13/07/2010
finalmente sono riuscito a compilare il mio pac-man col freepascal....
tuttavia ho qualche problema con la grafica...
sembra che la risoluzione sia aumentata di molto e quindi diventa tutto sfasato...ad esempio il primo programma floodfill mi riempie tuto lo schermo di quel colore perchŔ sembra che non punti a una figura circoscritta....come posso fare? in teoria non dovrebbe funzionare lo stesso?

PM Quote
Avatar
Poggi Marco (Member)
Guru


Messaggi: 969
Iscritto: 05/01/2010

Segnala al moderatore
Postato alle 21:43
Martedý, 13/07/2010
La modalitÓ grafica del free pascal consente di utilizzare tutti i punti dello schermo. Di conseguenza, la risoluzione cambia da computer a computer.
Per conoscere quanti pixel si hanno a disposizione, ci sono le funzioni GetMaxX e GetMaxY.

PM Quote
Avatar
Alex (Ex-Member)
Expert


Messaggi: 441
Iscritto: 15/08/2005

Segnala al moderatore
Postato alle 23:31
Martedý, 13/07/2010
si lo so che basta usare quelle funzione...e di fatti le ho usate....ma niente da fare....mi si colora lo schermo dei vari colori che ho assegnato a delle figure circoscritte...

PM Quote
Avatar
Poggi Marco (Member)
Guru


Messaggi: 969
Iscritto: 05/01/2010

Segnala al moderatore
Postato alle 23:59
Martedý, 13/07/2010
Molto strano!

Probabilmente le figure non sono definite da una linea perfettamente chiusa.

Ti funziona questo programma?

Codice sorgente - presumibilmente Delphi

  1. program ProvaDiRiempimento;
  2. uses graph;
  3.  
  4. function inizio_graf:boolean;
  5. var sg,ng,ec:smallint;
  6.     ch:boolean;
  7. begin
  8.  sg:=detect;
  9.  initgraph(sg,ng,' ');
  10.  ec:=graphresult;
  11.  if ec=grok then  ch:=true
  12.  else
  13.  begin
  14.   ch:=false;
  15.   write('Errore grafico: ',grapherrormsg(ec));
  16.   repeat until keypressed;
  17.   writeln(' ',readkey);
  18.  end;
  19.  inizio_graf:=ch;
  20. end;
  21.  
  22. begin
  23.  if inizio_graf then
  24.  begin
  25.   SetColor(green);
  26.   SetFillStyle(1, red);
  27.   circle(300, 300, 120);
  28.   FloodFill(300, 300, green);
  29.   readln;
  30.   closegraph;
  31.  end;
  32. end.


PM Quote
Avatar
Alex (Ex-Member)
Expert


Messaggi: 441
Iscritto: 15/08/2005

Segnala al moderatore
Postato alle 15:51
Mercoledý, 14/07/2010
mi funziona... (usando anche la unit crt che forse avevi dimenticato...)





poi un'altra cosa....i comandi li accetta per˛ dalla finestra dos...che deve essere in primo piano...se no sulla finestra dove c'Ŕ il cerchio non va....

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 23:53
Mercoledý, 14/07/2010
Testo quotato

Postato originariamente da Alex:
poi un'altra cosa....i comandi li accetta per˛ dalla finestra dos...che deve essere in primo piano...se no sulla finestra dove c'Ŕ il cerchio non va....



"purtroppo" come ho fatto io dovrai passare alla wincrt e alla wingraph...io mi ci sono trovato meglio rispetto alla graph e alla crt.. http://math.ubbcluj.ro/~sberinde/wingraph/ ;)

PM Quote
Avatar
Alex (Ex-Member)
Expert


Messaggi: 441
Iscritto: 15/08/2005

Segnala al moderatore
Postato alle 11:09
Giovedý, 15/07/2010
ho provato anche con la wingraph giÓ da tempo ma niente da fare....:d

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 21:41
Giovedý, 15/07/2010
La utilizzi insieme alla wincrt?

PM Quote
Avatar
Alex (Ex-Member)
Expert


Messaggi: 441
Iscritto: 15/08/2005

Segnala al moderatore
Postato alle 21:50
Giovedý, 15/07/2010
no adesdso provo...


credevo che la wincrt servisse per il discorso della finestra dos in background che non accetta comandi...

PM Quote