AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Bildgröße von .jpg Dateien ermitteln?
Thema durchsuchen
Ansicht
Themen-Optionen

Bildgröße von .jpg Dateien ermitteln?

Ein Thema von Wuaegner · begonnen am 23. Apr 2005 · letzter Beitrag vom 23. Apr 2005
Antwort Antwort
Benutzerbild von Wuaegner
Wuaegner

Registriert seit: 8. Feb 2004
406 Beiträge
 
Delphi 6 Enterprise
 
#1

Bildgröße von .jpg Dateien ermitteln?

  Alt 23. Apr 2005, 14:38
Ich habe diese Prozedur getestet:
Delphi-Quellcode:
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;
sie funktionier aber nur bei .bmps,
was muss ich machen um die Bildgröße einer .jpg Datei ermitteln zu können?
Wuaegner
Gruß Flo
Unternehmensberatung
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Bildgröße von .jpg Dateien ermitteln?

  Alt 23. Apr 2005, 14:43
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.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von Wuaegner
Wuaegner

Registriert seit: 8. Feb 2004
406 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: Bildgröße von .jpg Dateien ermitteln?

  Alt 23. Apr 2005, 14:45
ich will nur höhe und breite.
Wie kann ich bei diesem Code Bsp. das JPEG auf ein Bitmap zuweisen?
Wuaegner
Gruß Flo
Unternehmensberatung
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Bildgröße von .jpg Dateien ermitteln?

  Alt 23. Apr 2005, 14:49
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Bildgröße von .jpg Dateien ermitteln?

  Alt 23. Apr 2005, 15:12
Delphi-Quellcode:
jpg:=TJPEGImage.create;
opendialog1.Execute;
jpg.LoadFromFile(opendialog1.FileName);

image1.Picture.Assign(jpg);
und dann kannst du dir von image1.picture.bitmap width und height holen.(aber nicht von image1 direkt !!)
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Bildgröße von .jpg Dateien ermitteln?

  Alt 23. Apr 2005, 15:16
@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 http://www.obrador.com/essentialjpeg/headerinfo.htm gibts die Headerspezifikation, hab dort allerdings noch gefunden an welcher Stelle die Größenangaben stehen
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Wuaegner
Wuaegner

Registriert seit: 8. Feb 2004
406 Beiträge
 
Delphi 6 Enterprise
 
#7

Re: Bildgröße von .jpg Dateien ermitteln?

  Alt 23. Apr 2005, 15:24
OK ich habs jetz ganz einfach gelöst, danke!

Delphi-Quellcode:
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;
     .
     .
     .
@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.
Wuaegner
Gruß Flo
Unternehmensberatung
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Bildgröße von .jpg Dateien ermitteln?

  Alt 23. Apr 2005, 15:53
Zitat von Wuaegner:
OK ich habs jetz ganz einfach gelöst, danke!

Delphi-Quellcode:
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;
     .
     .
     .
@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.
tja, bei nem riesen Pic dauerts halt bisschen.
  Mit Zitat antworten Zitat
Benutzerbild von Wuaegner
Wuaegner

Registriert seit: 8. Feb 2004
406 Beiträge
 
Delphi 6 Enterprise
 
#9

Re: Bildgröße von .jpg Dateien ermitteln?

  Alt 23. Apr 2005, 16:01
Richtig, nur mein Programm wird keine Riesenpics zu bewältigen habn und drum is es so das Einfachste.
Wuaegner
Gruß Flo
Unternehmensberatung
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz