Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Bildeigenschaften über Dateipfad bekommen (https://www.delphipraxis.net/67137-bildeigenschaften-ueber-dateipfad-bekommen.html)

cruso 10. Apr 2006 08:50


Bildeigenschaften über Dateipfad bekommen
 
Hi!

Wisst ihr wie man, wenn ein Dateipfad gegeben ist man daraus den Dateinamen (z.B. "Bild.jpg") und die Auflösung der entsprechenden Datei bekommen kann?

Beispiel

C:/Programme/Bild.jpg //Dieser Pfad ist gegeben

Das soll herauskommen: "Bild.jpg - 1024x768 Pixel" //Angaben fiktiv ^^





MfG
Cruso

cruso 11. Apr 2006 17:31

Re: Bildeigenschaften über Dateipfad bekommen
 
24h sind lange vorbei! - PUSH!!! :???:

Hawkeye219 11. Apr 2006 17:36

Re: Bildeigenschaften über Dateipfad bekommen
 
Hallo cruso,

den Dateinamen erhältst Du über die Funktion ExtractFileName aus der Unit SysUtils.
Der Rest dürfte ziemlich aufwendig werden...

Gruß Hawkeye

Oxmyx 11. Apr 2006 17:37

Re: Bildeigenschaften über Dateipfad bekommen
 
Das erste mit der Funktion ExtractFileName, das zweite indem du die Datei öffnest, den JPEG-Header liest und die gewünschten Daten ausliest. Schau mal bei Google, wie ein JPEG-Header aufgebaut ist.

DGL-luke 11. Apr 2006 18:49

Re: Bildeigenschaften über Dateipfad bekommen
 
In der unit jpeg gibt es ein TJPEGImage. Damit sollte sich das auch bewerkstelligen lassen.

SirThornberry 11. Apr 2006 19:46

Re: Bildeigenschaften über Dateipfad bekommen
 
das TJPEGImage hat jedoch den Nachteil das man dann wohl das gesammte Bild in den speicher lädt. Es wäre also schon sinnvoller nur den Header zu lesen

Der_Unwissende 11. Apr 2006 21:20

Re: Bildeigenschaften über Dateipfad bekommen
 
Hi,
ein weiteres mögliches Problem dass dann kommen kann ist es, dass die Dateierweiterung (z.B. .jpg) nicht unbedingt etwas mit dem Inhalt zu tun haben muss (ich kann auch ein Tiff in Bild.jpg umbennen). Da sollte also der header der Datei unbedingt angeschaut werden, bevor man ein TJpegImage bemüht (dass dürfte mit Tiffs Schwierigkeiten haben)

Gruß Der Unwissende

cruso 14. Apr 2006 20:26

Re: Bildeigenschaften über Dateipfad bekommen
 
Geht das bei BMP's genauso? Ich hatte JPG ja nur als Beispiel angegeben.

DGL-luke 14. Apr 2006 20:29

Re: Bildeigenschaften über Dateipfad bekommen
 
Sich einfach nach dem RFC für das Bildformat. Das ist die Spezifikation, in der drinsteht, wie die Datei aussehen muss.

Nach der kannst du dann z.B. Höhe und Breite auslesen.

Natürlcih geht das bei einem Bitmap genauso.

Der_Unwissende 15. Apr 2006 11:40

Re: Bildeigenschaften über Dateipfad bekommen
 
Zitat:

Zitat von DGL-luke
Natürlcih geht das bei einem Bitmap genauso.

Ergänzend möchte ich sagen, dass fast alle Dateiformate dem gleichen Schema folgen. Du hast einen Header, der die Datei identifiziert (es kann ja mal zwei Menschen geben die eine Datei auf .xyz enden lassen).
Was in diesem Header steht variiert natürlich etwas mit dem Dateityp, aber häufig sind es halt Metainfos, die nötig sind um die Datei korrekt zu interpretieren (bei der Bitmap z.B. die Farbtiefe, Höhe, Breite, Kompression, ...)

Gruß Der Unwissende


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:41 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