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