Einzelnen Beitrag anzeigen

WIKINGFR

Registriert seit: 16. Apr 2007
2 Beiträge
 
Delphi XE Starter
 
#3

AW: TIF-Datei in einzelne Bitmap zerlegen

  Alt 17. Dez 2011, 16:39
Hallo,

ich glaube ImageEn ist etwas zu viel für mich.

Ich habe jetzt versucht mit der LibTiffDelphi das Problem zu lösen.
Die erste Seite der TIF-Datei wird wieder wunderbar gespeichert.
Delphi-Quellcode:
procedure TFormular.TIFZerlegen(const Dateiname: TFileName);
var
  objTIFFImage: PTIFF;
  objBMPImage: TBitmap;
  intWidth: Integer;
  intHeight: Integer;
  intSeiten: Integer;
begin
  { Datei öffnen }
  objTIFFImage := TIFFOpen(Dateiname,'r');
  { Anzahl der Seiten ermitteln }

  { Größe der Seite ermitteln }
  TIFFGetField(objTIFFImage, TIFFTAG_IMAGEWIDTH, @intWidth);
  TIFFGetField(objTIFFImage, TIFFTAG_IMAGELENGTH, @intHeight);
  { Bitmap erzeugen }
  objBMPImage := TBitmap.Create;
  { Fehlerbehandlung }
  try
    { Inhalt dem Bitmap zuweisen }
    objBMPImage.Width := intWidth;
    objBMPImage.Height := intHeight;
    TIFFReadRGBAImage(objTIFFImage, intWidth, intHeight, objBMPImage.Scanline[intHeight - 1], 0);
    { Bitmap speichern }
    objBMPImage.SaveToFile(Dateiname + '_TIFFImage.bmp');
  except
    { Bitmap freigeben }
    objBMPImage.Free;
  end; { trx except }
  { Datei schließen }
  TIFFClose(objTIFFImage);
end; { TFormular.TIFZerlegen }
Ich finde aber einfach keine Eigenschaft zur Anzahl der Seiten um z.B. eine Schleife zu erstellen.
Mir ist auch nicht klar wie man die einzelnen Seiten aus der TIF lesen kann.

Gruß Frank
Frank
  Mit Zitat antworten Zitat