1

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 をビットマップ ファイルに保存する方法を教えてください。

4

0 に答える 0