Login

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download | RSS feed

Program Scr;
uses Crt,Graph;
const
  TIFprefix : string =
    #73#73#42#0#8#0#0#0#15#0#254#0#4#0#1#0#0#0#0#0#0#0#0#1#4#0
   +#1#0#0#0#0#1#0#0#1#1#4#0#1#0#0#0#192#0#0#0#2#1#3#0#1#0#0#0
   +#1#0#0#0#3#1#3#0#1#0#0#0#1#0#0#0#6#1#3#0#1#0#0#0#1#0#0#0#17
   +#1#4#0#1#0#0#0#194#0#0#0#21#1#3#0#1#0#0#0#1#0#0#0#22#1#4#0
   +#1#0#0#0#192#0#0#0#23#1#4#0#1#0#0#0#0#24#0#0#26#1#5#0#1#0#0
   +#0#194#24#0#0#27#1#5#0#1#0#0#0#202#24#0#0#28#1#3#0#1#0#0#0
   +#1#0#0#0#40#1#3#0#1#0#0#0#2#0#0#0#61#1#3#0#1#0#0#0#1#0#0#0
   +#0#0#0#0;
  TIFpostfix : string =
    #80#0#0#0#1#0#0#0#80#0#0#0#1#0#0#0;
var
 TF,ZF:File of Char;
 name,name1,name2:string;
 b:array [0..191,0..31] of byte;
 c:char;
 n:Longint;
 gr,modd,i,j,k,m:integer;

begin
  ClrScr;
  n:=0;
  Writeln('Конвертация экранного файла');
  Writeln('формата SCR');
  Writeln('в графический TIFF-файл');
  Writeln('(Black & White  256x192).');
  Write('Имя  SCR-файла : ');Readln(name);
  name1:=Name+'.scr';
  name2:='d:\'#39'slava'#39'\images\'+Name+'.tif';
  gr:=detect;
  InitGraph(gr,modd,'d:\tp7\bgi\');

  Assign(ZF,name1);
  Reset(ZF);

{  for i:=1 to 17 do read(ZF,c);            {read TR DOS prefix}

  for m:=0 to 2 do                       {read TR DOS screen}
    for k:=0 to 7 do
      for j:=0 to 7 do
        for i:=0 to 31 do
          begin
            read(ZF,c);
            b[m*64+j*8+k,i]:=ord(c);
            for gr:=0 to 7 do
             putpixel(i*8+gr,m*64+j*8+k,(ord(c) shr (7-gr) and 1 xor 1)*14);
          end;

  Close(ZF);

  Assign(TF,name2);
  Rewrite(TF);

  for i:=1 to 194 do write(TF,TIFprefix[i]);  {save TIFF prefix}

  for i:=0 to 191 do                          {save  TIFF screen}
     for j:=0 to 31 do
       begin
         c:=chr (not b[i,j]);
         write(TF,c);
       end;

  for i:=1 to 16 do write(TF,TIFpostfix[i]);  {save TIFF postfix}

  Close(TF);

  repeat until KeyPressed;
  CloseGraph;

end.