Unit Grafisch; { This software has been designed and is CopyLefted by Han de Bruijn (===) @-O^O-@ #/_\# ### All I ask is to be credited when it is appropriate. } INTERFACE Uses Extctrls, Types, Graphics; var Wijd,Hoog : integer; xmin,xmax,ymin,ymax : double; procedure TV(beeld : TImage); procedure ClearDevice; function Grijs(getal : double) : TColor; function x2i(x : double) : integer; function i2x(i : integer) : double; function y2j(y : double) : integer; function j2y(j : integer) : double; IMPLEMENTATION var scherm : TImage; procedure TV(beeld : TImage); begin scherm := beeld; end; procedure ClearDevice; { Clear Screen } var rechthoek : TRect; begin Wijd := scherm.Width-1; Hoog := scherm.Height-1; rechthoek := Rect(0,0,Wijd+1,Hoog+1); with scherm.Canvas do begin Brush.Color := clWhite; FillRect(rechthoek); end; end; function Grijs(getal : double) : TColor; { Translates Real into Grey values } var even,k : byte; effe : Tcolor; begin if getal < 0 then getal := 0; if getal > 1 then getal := 1; effe := 0; for k := 1 to 3 do begin even := Round(255*(1-getal)); effe := (effe shl 8) or even; end; Grijs := $00000000 or effe; end; function x2i(x : double) : integer; begin x2i := Round((x-xmin)/(xmax-xmin)*Wijd); end; function i2x(i : integer) : double; begin i2x := xmin + i/Wijd*(xmax-xmin); end; function y2j(y : double) : integer; begin y2j := Round(Hoog*(1-(y-ymin)/(ymax-ymin))); end; function j2y(j : integer) : double; begin j2y := ymin + (Hoog-j)/Hoog*(ymax-ymin); end; END.