1

我需要从 tiff 文件中获取颜色信息,所以我在 LibTiffDelphi lib 的帮助下逐块读取它。Tiff 是单色的,包装在 PackBits 中。

我将每个图块读取为一个 buff,然后我需要在每个图块中获取 % 的黑白 问题是我不知道如何从 buf 获取此信息。

procedure readTiff (OpenTiff : PTIFF);
var
  buf :^char;
  tileByteCounts : array of Integer;
  ...
begin
  bufsize:= TIFFStripSize(OpenTiff);
  buf:=_TIFFmalloc(bufsize);

 for s:= 0 to  tileCount  do
            begin
               if (Tilebytecounts[s]< bufsize) then       
                begin
                buf := _TIFFrealloc(buf, Tilebytecounts[s]);
                  if (buf)=nil then
                    begin
                Exit;
                bufsize:= Tilebytecounts[s];
                    end;
                  rc := (TIFFReadRawTile(OpenTiff, s, buf, Tilebytecounts[s]));
                  if rc < 0 then
                     begin
                       _TIFFfree(buf);
                        Exit;
                     end;
                end;
             end;
          _TIFFfree(buf);

    TIFFClose(OpenTiff);

或者,作为一种情况,如何将此 buf 保存到位图文件?

4

0 回答 0