我需要从tiff文件中获取颜色信息,所以我在LibTiffDelphi lib的帮助下逐个瓦片地阅读它。 Tiff是单色的,打包在PackBits中。
我把每个瓷砖读成一个buff,之后我需要在每个tilem中得到黑色和白色的百分比,我不知道如何从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保存到位图文件中?