Einzelnen Beitrag anzeigen

TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Welche Art von Grafik wurde gespeichert

  Alt 6. Jan 2021, 12:16
Jede Graphic-Klasse hat eine überladene class function CanLoadFromStream, die die von Klaus in Spiel gebrachte Idee umsetzt.
Das kannst dann verwenden, um aus dem Blob-Stream zu ermitteln, welche File-Extension gebraucht wird.

Delphi-Quellcode:

uses
  Vcl.Graphics,
  Vcl.Imaging.pngimage,
  Vcl.Imaging.jpeg,
  Vcl.Imaging.GIFImg;

function GetImageFileExtensionFromBlobStream(const ABlobStream: TStream): string;
begin
  if TBitmap.CanLoadFromStream(ABlobStream) then
  begin
    Result := 'bmp';
  end
  else if TPngImage.CanLoadFromStream(ABlobStream) then
  begin
    Result := 'png';
  end
  else if TJPEGImage.CanLoadFromStream(ABlobStream) then
  begin
    Result := 'jpg';
  end
  else if TGIFImage.CanLoadFromStream(ABlobStream) then
  begin
    Result := 'gif';
  end
  else
    Result := 'unknown';
end;
  Mit Zitat antworten Zitat