program rasterzeichnen;
uses crt, graph, farbwahl;

type raster = array[1..246] of char;
type ort    = array[1..768] of pointtype;

var gd, gm   : integer;
    feld2    : ort;
    feld1    : raster;
    groesse  : word;
    j        : longint;
    x, y     : integer;
    i, durch : integer;
    f        : file of raster;
    farbe    : byte;
    farbteil : colortyp;
    zahl     : byte;
    fileposstr, jstr : string;
    feld3    : array[1..768] of boolean;


procedure vorlage(farbe : byte);
  begin
    setcolor(farbe); setfillstyle(1, farbe);
    pieslice(10, 10, 0, 360, 9);
    getimage(0, 0, 19, 19, feld1);
  end;

procedure zeichnen(farbe : byte);
  begin
    i:=1;
    for y:=0 to 23 do
      for x:=0 to 31 do
        begin
          feld2[i].x:=x;
          feld2[i].y:=y;
          inc(i);
        end;
    for i:=1 to 768 do feld3[i]:=false;
    durch:=1;
    assign(f, 'd:\tp\arbeit\wichtig\grafik\weiwald2.bmp');
    reset(f);
    repeat
      repeat
        j:=random(768)+1;
      until feld3[j]=false;
      feld3[j]:=true;
      seek(f, (j-1));
      read(f, feld1);
      putimage(feld2[j].x*20, feld2[j].y*20, feld1, 0);
      delay(10);
      if keypressed then readln;
      inc(durch);
    until durch=769;
    close(f);
  end;

begin
  randomize;
  gd:=9; gm:=2;
  initgraph(gd, gm, 'd:\tp\bgi');
  setcolor(1); setfillstyle(1, 1);
  bar(0, 0, 639, 479);
  zeichnen(1);
  {delay(100);
  vorlage(2);
  setcolor(10); setfillstyle(1, 10);
  pieslice(10, 10, 0, 360, 9);
  zeichnen(10);
  groesse:=imagesize(0, 0, 19, 19);
  setcolor(15);
  farbe:=15;
  line(10, 420, 400, 450);
  farbteil.rott:=0;
  farbteil.gruent:=0;
  farbteil.blaut:=0;
  repeat
    setpalettecolor(farbe, farbteil);
    delay(100);
    resetcolor(15);
    delay(100);
  until keypressed;}
  repeat until keypressed;
  closegraph;
  writeln(groesse);
  {for i:=1 to 10 do write(ord(feld1[i]), ' ');}
end.
{ASCII-Datei: Zeichen 1 bis 20*15*2 (600) : x, y f�r Bereich;
 Bild         Zeichen 601 bis 518*600 (310800) : Bmp-Feld als char-Folge mit
                                                 Groesse 518 ohne Grenze}