trap-gen.pas 1009 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. Uses Graph;
  2. Procedure EGAVGADriver;external;
  3. var
  4. inp,outp : file;
  5. p : pointer;
  6. Name : string;
  7. Beg : string;
  8. Size : word;
  9. k,i,j : word;
  10. x,y : word;
  11. val : byte;
  12. gD,gM : Integer;
  13. begin
  14. gD:=Detect;
  15. {$L EGAVGA.OBJ}
  16. RegisterBGIDriver(@EGAVGADriver);
  17. InitGraph(gD,gM,'');
  18. Assign(outp,'trap.dat');
  19. ReWrite(outp,1);
  20. k:=1;
  21. BlockWrite(OUTP,k,2);
  22. OutTextXY(300,200,'trap.tga');
  23. Assign(inp,'trap.tga');
  24. Reset(inp,1);
  25. Seek(INP,12);
  26. BlockRead(inp,x,2);
  27. BlockRead(inp,y,2);
  28. Seek(Inp,$312);
  29. for i := 1 to y do
  30. for j := 1 to x do
  31. begin
  32. BlockRead(INP,val,1);
  33. if (val and $F) <> $F then
  34. PutPixel(j,y-i+1, 0)
  35. else
  36. PutPixel(j,y-i+1,White);
  37. end;
  38. Close(INP);
  39. Size := ImageSize(0,0,x,y);
  40. BlockWrite(OUTP,Size,2);
  41. GetMem(P,Size);
  42. GetImage(1,1,x,y,P^);
  43. BlockWrite(OUTP,P^,Size);
  44. FreeMem(P,Size);
  45. ReadLn;
  46. ClearDevice;
  47. CloseGraph;
  48. Close(OUTP);
  49. end.