![]() |
Suche nach Images in einer Datei
Hallo,
ich suche nach einer Möglichkeit, um in einem File ein Image zu finden und anzuzeigen. Ich habe bereits den Großteil des Formates mit einem Hexeditor heraus gefunden. Ich gehe davon aus, dass die darin enthaltenen Bilder immer eine feste Größe haben. Ich habe aber eben keine Ahnung, in welcher Form die Bilder gespeichert werden (ob als bmp, jpg ...) Bei der Datei handelt es sich um eine Scan eines Video- Bandes. Erstellt wurde die Scan- Datei mit dem Mediastudio Pro. Für jede Szene auf dem Band werden zunächst immer Eigenschaften (z.B. wann erstellt, Start- und Stop- Frame) abgelegt. Anschließend folgt das Startbild der jeweiligen Szene, ohne das ich weiß, wo (Hex Adr.) das Bild tatsächlich beginnt. Wie findet man heraus, an welcher Stelle (Hex Adr.) ein Bild beginnt und wie kann man herausfinden was es ist, um es an eine Routine zum Anzeigen zu übergeben? Herzlichen Dank im Voraus! |
Re: Suche nach Images in einer Datei
Indem du nach dem Header suchst, in dem sollte auch die Abmessungen/Farbtiefe usw. stehen
|
Re: Suche nach Images in einer Datei
Welches Format hat diese ominöse Datei? (mindestens die Dateiendung)
Für Vieles gibt es offengelegte Definitionen, worin dann genau erwähnt ist, wie man was wo auslesen kann. |
Re: Suche nach Images in einer Datei
Zitat:
Würde eine Beispieldatei helfen? Zitat:
|
Re: Suche nach Images in einer Datei
Ich finde unter .sca nur Norton AntiVir als Bezugsprogramm, sowie 2-3 andere die nichts mit Bildern zu tun haben. Du hast es wohl mit keinem Standardfile zu tun. Ausserdem klingt das für mich ein wenig so als könnte da auch eine propietäre Kompression involviert sein, so dass nicht mal gewiss ist, dass du ohne den Hersteller zu fragen rausfinden kannst wie so ein Einzelbild genau anfängt, bzw. in welcher Form es überhaupt vorliegt. Wenn überhaupt würde ich nach sich in mehr oder weniger gleichen Abständen wiederholenden Byte-Kombinationen suchen, aber auch das ist bestenfalls ein schwaches Indiz, und sagt noch immer nicht viel aus.
Die einzige Chance dass nicht in ellenlanges Trial-And-Error ausarten zu lassen wäre wohl wirklich den Hersteller der erstellenden Software zu kontaktieren. |
Re: Suche nach Images in einer Datei
Gibt es vielleicht ein Software- Tool, dass so eine Aufgabe bewältigt; nach Pattern sucht und anschließend mitteilt, wieviel Speicher von dem Bild belegt wird und um was für ein Format es sich dabei handelt?
|
Re: Suche nach Images in einer Datei
Zitat:
zum BMP hast hier das Format sogar sehr gut aufgeschlüsselt ![]() ![]() hmmm, also wenn ich das so lese ... hast du dir den Dateiinahlt schonmal genauer angesehn? klingt so, also sollte sich dort recht leicht was finden lassen :gruebel: |
Re: Suche nach Images in einer Datei
Zitat:
|
Re: Suche nach Images in einer Datei
Also, da es sich wohl bei .SCA um ein Script-Format handelt, wird es dort mit 'ner Binärsuche erstmal nicht so einfach.
Eine Demo-Datei wäre da wirklich nicht verkehrt. |
Re: Suche nach Images in einer Datei
Hier ist mal eine Test- Datei mit einigen Szenen und deren Anfangsbilder. Bin gespannt
|
Re: Suche nach Images in einer Datei
Liste der Anhänge anzeigen (Anzahl: 1)
:roll: da ich selber nicht gesehen habe, wo mein Attachment hingekommen ist, hier noch mal der Versuch díe Datei hoch zu laden.
|
Re: Suche nach Images in einer Datei
nicht gleich auf [Absenden] klicken, sondern erstmal auf [hinzufügen]
und man kann seine Beiträge editieren, wenn etwas nicht stimmt :stupid: oben steht dann 'ne Meldung, wenn was nicht stimmte PS: siehe [Erlaubte Dateierweiterungen] also häng einfach ein .txt an diese Datei dran und lad sie dann hoch :zwinker: wenn sie nicht zu groß ist, ansonsten such dir einen aus ![]() |
Re: Suche nach Images in einer Datei
Hier ist ein Teil des bisherigen Quellcodes, der das - von mir bisher verstandene - Format wieder gibt. Sicherlich eine sehr rudimäntare Art der Programmierung...
Delphi-Quellcode:
[edit=Luckie]Tag geschlossen. Mfg, Luckie[/edit]
[color=#00bfff]// Beginn der SCA- Header Information - wird nur einmal durchlaufen[/color]
FileStream := TFileStream.Create(OpenPreScanDlg.FileName,fmOpenRead,fmShareDenyWrite); // Lesen des Bandnamens // FileStream.Seek(24,soFromBeginning); // An Adr. (dez): 24 steht die Länge des Bandnamens FileStream.Read(l1, SizeOf(l1)); getmem(PBandName, l1); FileStream.Read(PBandName^,l1); BandName := StrPas(PBandName); freemem(PBandName); // Lesen der Band Beschreibung // FileStream.Read(l2, SizeOf(l2)); getmem(PTapeDesc, L2); FileStream.Read(PTapeDesc^, L2); TapeDesc := strPas(PTapeDesc); freemem(PTapeDesc); FileStream.Seek(4,soFromCurrent); // 4 Byte weiter steht die Anzahl der Szenen FileStream.Read(AnzahlSzenen, SizeOf(AnzahlSzenen)); FilePos := FileStream.Position; FileStream.Destroy; [color=#00bfff]// ab hier beginn der Code, um jede einzelne Szene herauszuholen[/color] FileStream.Read(ASzene.StartFrame, SizeOf(ASzene.StartFrame)); FileStream.Read(ASzene.StartSec, SizeOf(ASzene.StartSec)); FileStream.Read(ASzene.StartMin, SizeOF(Aszene.StartMin)); FileStream.Read(ASzene.StartH, SizeOF(Aszene.StartH)); FileStream.Read(ASzene.StopFrame, SizeOf(ASzene.StopFrame)); FileStream.Read(ASzene.StopSec, SizeOf(ASzene.StopSec)); FileStream.Read(ASzene.StopMin, SizeOF(Aszene.StopMin)); FileStream.Read(ASzene.StopH, SizeOF(Aszene.StopH)); FileStream.Seek(+16, soFromCurrent); // Year FileStream.Read(Year, SizeOf(Year)); FileStream.Read(Month, SizeOf(Month)); FileStream.Seek(+3, soFromCurrent); FileStream.Read(Day, SizeOf(Day)); FileStream.Seek(+1, soFromCurrent); FileStream.Read(Hour, SizeOf(Hour)); FileStream.Read(Zeichen, SizeOf(Zeichen)); // Trennzeichen FileStream.Read(Minute, SizeOf(Minute)); FileStream.Read(Zeichen, SizeOf(Zeichen)); // Trennzeichen FileStream.Read(Secunde, SizeOf(Secunde)); FileStream.Seek(+20, soFromCurrent); FileStream.Read(l1, SizeOf(l1)); getmem(PFileName, l1); FileStream.Read(PFileName^,l1); FileStream.Seek(+14460, soFromCurrent); FileName := StrPas(PFileName); freemem(PFileName); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:22 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