我需要从 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 保存到位图文件?