home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / GFXFX2.ZIP / PIXELATE.PAS < prev    next >
Pascal/Delphi Source File  |  1995-02-14  |  904b  |  38 lines

  1.  
  2. program pixelate; { PIXELATE.PAS }
  3. { Commandline-parameter: any 320x200x256 PCX file,
  4.   reminder: realy slow, just to give some hints,
  5.   by Bas van Gaalen }
  6. uses u_vga,u_ffpcx,u_pal,u_kb;
  7. var pcxpal:pal_type; pcxpic:pointer;
  8.  
  9. procedure zoom;
  10. var i,j,x,y,z:word; c:byte;
  11. begin
  12.   z:=2;
  13.   repeat
  14.     vretrace;
  15.     for i:=0 to (319 div z) do
  16.       for j:=0 to (199 div z) do begin
  17.         c:=mem[u_vidseg:(j*z)*320+i*z];
  18.         for y:=0 to pred(z) do
  19.           for x:=0 to pred(z) do
  20.             mem[u_vidseg:(j*z+y)*320+i*z+x]:=c;
  21.       end;
  22.     z:=z shl 1;
  23.   until z>100;
  24. end;
  25.  
  26. begin
  27.   getmem(pcxpic,320*200);
  28.   if pcx_load(paramstr(1),pcxpic,pcxpal)<>pcx_ok then begin
  29.     writeln('An error ocured: ',pcx_errstr); halt; end;
  30.   setvideo($13);
  31.   setpal(pcxpal);
  32.   displaypic(0,0,pcxpic,320,200);
  33.   freemem(pcxpic,320*200);
  34.   zoom;
  35.   waitkey(0);
  36.   setvideo(u_lm);
  37. end.
  38.