Einzelnen Beitrag anzeigen

WIKINGFR

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

TIF-Datei in einzelne Bitmap zerlegen

  Alt 17. Dez 2011, 00:00
Hallo,

ich möchte eine TIF-Datei mit mehreren Seiten in einzelne BMP-Dateien pro Seite zerlegen, um dann mit diesen weiterzuarbeiten.
Die für die Verarbeitung von TIF-Dateien immer wieder empfohlene GraphicEx hilft mir scheinbar nicht weiter,
ich erhalte nach dem einfachen Einbinden beim Compilieren der Anwendung Fehlermeldungen die sich auf diese Unit beziehen.

Mein Versuch ging erstmal in diese Richtung,
wobei der Container ein TFrame mit daraufgesetzten TImage ist.
Delphi-Quellcode:
{ TIF-Datei zerlegen }
procedure TFormular.TIFZerlegen(const Dateiname: TFileName);
var
  objImage: TWICImage;
begin
  { Grafik-Objekt erzeugen }
  objImage := TWICImage.Create;
  { Fehlerbehandlung }
  try
    objImage.LoadFromFile(Dateiname);
    { Format prüfen }
    if objImage.ImageFormat = wifTiff then
    begin
      { Bild zuweisen und speichern }
      Container.Image.Width := objImage.Width;
      Container.Image.Height := objImage.Height;
      Container.Image.Picture.Bitmap.Width := objImage.Width;
      Container.Image.Picture.Bitmap.Height := objImage.Height;
      Container.Image.Picture.Bitmap.Assign(objImage);
      Container.Image.Picture.Bitmap.SaveToFile(Dateiname + '_TBitmap.bmp');
      { Direkt als BMP speichern }
      objImage.ImageFormat := wifBmp;
      objImage.SaveToFile(Dateiname + '_TWICImage.bmp');
    end; { if then }
  finally
    { Grafik-Objekt freigeben }
    objImage.Free;
  end; { try finally }
end; { TFormular.TIFZerlegen }
Es wird im TImage aber immer nur die erste Seite der TIF-Datei angezeigt und auch gespeichert.
Aber damit komme ich nicht weiter, weil hier ja offensichtlich ein Bezug auf die Seite fehlt.

Wie kann ich die einzelnen Seiten der TIF-Datei durchlaufen und als Bitmap speichern?

Ich hoffe es gibt eine einfache Lösung.
Denn selbst in der Windows-Fotogalerie kann man TIF-Dateien anzeigen und durchblättern,
aber wenn man z.B. auf der zweiten Seiten einen Rechtsklick + Kopieren macht wird auch nur die Grafik der ersten Seite in die Zwischenablage kopiert.

Grüße Frank
Frank
  Mit Zitat antworten Zitat