Чтение TIFF-файла (Изменение программы для вывода двух изображений на ТВ-экран: одно – исходное, а другое – негативное), страница 2

                                    Tag'а указатель на таблицу, содержащую указатели на полосы

                                    области данных}

                                                   if comp=1 then      Blockread(f,seektiff,4)

                                                             else begin

                                                                       Blockread(f,PoinAdr,4); {чтение уазателя на таблицу}

                                                                       Seek(f,PoinAdr);        {пеемещение в голову таблицы}

                                                                       Blockread(f,seektiff,PoinTyp); {чтение указателя на

                                                                                                       область данных}

                                                                  end;

                                                   end

                                         else  {остальные Tag'и нам сейчас не интересны}

                                                   IFDInd:=IFDInd+8;

                                       end; {case}

                                       Inc(IFDInd,4);

                                       Seek(f,IFDInd);

                                  end; {окончание чтения Tag'ов}

End; {HeadRead}

Begin

    clrscr;

                       {проверка параметров в командной строке}

    If Paramcount <> 0 then ImageFile1:=ParamStr(1)

                       else

              begin

               write('Vvedite imya TIFF - file ...');

               Readln(ImageFile1);

              end;

    if ImageFile1='' then begin

                           writeln('Vi nichego ne vveli...');

                           imagefile1:=readkey;

                           halt;

                           end;

        Assign(f,ImageFile1); {связывание файловой переменной f     }

                              {с именем физического файла ImageFile1}

        Size:=1;              {размер записи 1 байт  }

        Reset(f,Size);  {открытие файла с логическим }

                        {именем f для чтения         }

if (ImageFile1='eagle.dat') then begin {Про дат речи не шло}

                                 Wx:=180;Wy:=240;seektiff:=0

                                 end

                            else HeadRead;

       Seek(f,seektiff);     {сместиться на область данных}

       for y:=1 to Wy do     {для каждой строки...}

          begin

            new(po[y]);                 {ввести свой массив указателей...}

                                        {в выделенную память}

            blockread(f,po[y]^,Wx);     {считать строку из файла}

          end;

                  {чтение данных из нетипизированного}

                  {файла f в динамическую память     }

                  {Wx*Wy-число читаемых байт         }

        close(f);                       {закрыть файл}

  Driv:=9;  {Драйвер VGA}

  Mode:=2;  { Mode - режим графики,

                     определяет число точек на ТВ экране

                         Mode=0                640 x 200