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 - Pacal-graph
Forum - Pascal - Pacal-graph

Avatar
dario cavarrett (Normal User)
Newbie


Messaggi: 10
Iscritto: 05/02/2017

Segnala al moderatore
Postato alle 16:32
Domenica, 05/02/2017
Salve  a tutti, volevo sapere se esiste un comando ( o una funzione ) per poter ruotare una figura in pascal (unit graph) evitando così d doverlo fare manualmente ogni volta ( mi servirebbe per un giochetto che sto programmando). Grazie a chi risponderà

PM Quote
Avatar
Poggi Marco (Member)
Guru


Messaggi: 969
Iscritto: 05/01/2010

Segnala al moderatore
Postato alle 20:18
Domenica, 05/02/2017
Ciao!

Per risolvere il problema esistono molte soluzioni valide. Ad esempio ridisegna la figura con lo stesso colore dello schermo.

PM Quote
Avatar
dario cavarrett (Normal User)
Newbie


Messaggi: 10
Iscritto: 05/02/2017

Segnala al moderatore
Postato alle 12:38
Lunedì, 06/02/2017
Ci avevo pensato anch' io ma volevo infatti chiedere se esistessero modi piu semplici e meno dispendiosi per fare ciò

PM Quote
Avatar
Poggi Marco (Member)
Guru


Messaggi: 969
Iscritto: 05/01/2010

Segnala al moderatore
Postato alle 14:15
Lunedì, 06/02/2017
Esistono metodi alternativi, ad esempio memorizzare un'area dello schermo, e ridisegnarla altrove.
Esempio:
Codice sorgente - presumibilmente Delphi

  1. program copia_figura;
  2.  
  3. {Sample code for the GetImage procedure.}
  4.   uses Graph;
  5.  var
  6.    Gd, Gm: Integer;
  7.    P: Pointer; {Puntatore in cui memorizzare la figura}
  8.    Size: Word;
  9.  begin
  10.    Gd := Detect;
  11.    InitGraph(Gd, Gm, '');
  12.    if GraphResult <> grOk then
  13.      Halt(1);
  14.    Bar(0, 0, GetMaxX, GetMaxY);
  15.    circle(20, 30, 5);
  16.    Size := ImageSize(10, 20, 30, 40); {Calcolo di quanta memoria serve per memorizzare l' immagine }
  17.    GetMem(P, Size);   {Alloca un blocco di memoria nel puntatore }
  18.    GetImage(10, 20, 30, 40, P^); {copia della figura}
  19.    Readln;
  20.    ClearDevice; {Cancella lo schermo}
  21.    PutImage(100, 100, P^, NormalPut); { Riproduco l'immagine }
  22.    Readln;
  23.    CloseGraph;
  24.  end.



PM Quote
Avatar
dario cavarrett (Normal User)
Newbie


Messaggi: 10
Iscritto: 05/02/2017

Segnala al moderatore
Postato alle 15:50
Lunedì, 06/02/2017
Grazie!

PM Quote