![]() |
Bildgröße von .jpg Dateien ermitteln?
Ich habe diese Prozedur getestet:
Delphi-Quellcode:
sie funktionier aber nur bei .bmps,
procedure TForm1.Button1Click(Sender: TObject);
var fileheader: TBitmapfileheader; infoheader: TBitmapinfoheader; s: TFilestream; aFile : String; begin aFile := 'C:\Benutzer\Orchidee.bmp'; s := TFileStream.Create(aFile, fmOpenRead); try s.Read(fileheader, SizeOf(fileheader)); //Nach dem filehaeder beginnt der infoheader s.Read(infoheader, SizeOf(infoheader)); Form1.Label1.Caption := 'Width: ' + FormatFloat('#,##0' ,StrToFloat(IntToStr(infoheader.biWidth))); if infoheader.biHeight >=0 then Form1.Label2.Caption := 'Height: ' + FormatFloat('#,##0' ,StrToFloat(IntToStr(infoheader.biHeight))) else Form1.Label2.Caption := 'Height: ' + FormatFloat('#,##0' ,StrToFloat(IntToStr(infoheader.biHeight))) +' (Top-down-DIB)'; finally s.Free; end; end; was muss ich machen um die Bildgröße einer .jpg Datei ermitteln zu können? |
Re: Bildgröße von .jpg Dateien ermitteln?
du willst höhe und breite?
dann weise das jpeg auf ein bitmap zu. du willst dateigröße? das sollte mit filesize() auch bei jpegs gehen. du willst diese beiden angaben, ohne das jpeg decoden zu müssen? dann kann ich dir nicht weiterhelfen. |
Re: Bildgröße von .jpg Dateien ermitteln?
ich will nur höhe und breite.
Wie kann ich bei diesem Code Bsp. das JPEG auf ein Bitmap zuweisen? |
Re: Bildgröße von .jpg Dateien ermitteln?
der Header von JPG-Dateien und BMP-Dateien unterscheidet sich schon, so das es eventuell nicht mit einer Zeile ändern (deines SourceCodes) getan ist. Du musst also mal nach der Headerspecifikation des JPG-Formates suchen und dann weißt du auch an welcher Stelle die Höhe und Breite in der Datei zu finden ist die du dann auslesen kannst.
|
Re: Bildgröße von .jpg Dateien ermitteln?
Delphi-Quellcode:
und dann kannst du dir von image1.picture.bitmap width und height holen.(aber nicht von image1 direkt !!)
jpg:=TJPEGImage.create;
opendialog1.Execute; jpg.LoadFromFile(opendialog1.FileName); image1.Picture.Assign(jpg); |
Re: Bildgröße von .jpg Dateien ermitteln?
@DGL-luke: Ich glaub das ist genau das was er nicht will, du lädst das gesammte bild in den speicher obwohl du nur die bildgröße wissen willst...
Unter ![]() |
Re: Bildgröße von .jpg Dateien ermitteln?
OK ich habs jetz ganz einfach gelöst, danke!
Delphi-Quellcode:
@Sir Thornberry: Mein Programm hat nur die Aufgabe diese Höhe und Breite anzuzeigen und sonst nix und habs getestet, es gibt keine Performanceprobleme obwohl das Bild immer komplett in den Speicher geladen wird. Is für mich glaube ich die einfachere jedoch ausreichende Art.
procedure ZeigBreiteHoehe(Dateipfad: string;BreiteLabel,HoeheLabel: TLabel);
var jpg: TJPEGImage; breite,hoehe: Integer; begin jpg:=TJPEGImage.Create; try jpg.LoadFromFile(Dateipfad); Breite:=jpg.width; //Die Höhe des JPEG's Hoehe:=jpg.Height; //Die Breite des JPEG's finally jpg.free; end; . . . |
Re: Bildgröße von .jpg Dateien ermitteln?
Zitat:
|
Re: Bildgröße von .jpg Dateien ermitteln?
Richtig, nur mein Programm wird keine Riesenpics zu bewältigen habn und drum is es so das Einfachste. :wink:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz