tiff ファイルから色情報を取得する必要があるため、LibTiffDelphi lib を使用してタイルごとに読み取ります。Tiff はモノクロで、PackBits にパックされています。
私はバフにすべてのタイルを読み、その後、各タイルで黒と白の割合を取得する必要があります。問題は、バフからこの情報を取得する方法がわかりません。
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 をビットマップ ファイルに保存する方法を教えてください。