Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
MalteF
Anmeldungsdatum: 04.12.2008 Beiträge: 44
|
Verfasst am: 11.03.2013, 22:37 Titel: Die Größe eines Grafikdatenfelds aus der Datei auslesen... |
|
|
...in die ich es zuvor gespeichert habe.
Nochmal zum besseren Verständnis..
Also, ich habe ein Frame einer Animation in Form eines GIFs
auf den Bildschirm gebracht,
dieses Frame per GET gegettet und per BSAVE gespeichert.
Per BLOAD lade ich es in mein Game...
Jetzt möchte ich der Einfachheit halber beim Laden der Datei
die Maße des Bildes auslesen.. (vorzugsweise aus dem Datenfeld, in das ich geladen habe, direkt)
Ich weiß, dass die ersten 7 Byte der Header sind, per PEEK kriege ich an Byte 3 die Höhe, aber ich krieg die Breite nicht...?!
Wäre super wenn mir da jemand auf die Sprünge helfen könnte...! |
|
Nach oben |
|
|
MalteF
Anmeldungsdatum: 04.12.2008 Beiträge: 44
|
Verfasst am: 11.03.2013, 22:50 Titel: |
|
|
..übrigens in Screen 13 das Ganze.
Laut diesem Tutorial speichert der Header garnicht die Maße ??
http://support.microsoft.com/kb/34407
Jetzt schnall ich garnix mehr! |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 11.03.2013, 23:16 Titel: |
|
|
Ist jetzt auch schon ewig her, dass ich mit diesen Befehlen oder gar QB gearbeitet habe, aber ich nehme an, dass dieser Header, der in der MSDN beschrieben wird, den eigentlichen Bilddaten vorangestellt wird, die du mit GET erstellt hast (BSAVE kann nicht nur Grafiken speichern, von daher enthält der BSAVE-Header mit großer Wahrscheinlichkeit keine Bildgrößen ). Das heißt, du solltest dir den GET-Header anschauen, nicht den BSAVE-Header. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
MalteF
Anmeldungsdatum: 04.12.2008 Beiträge: 44
|
Verfasst am: 11.03.2013, 23:18 Titel: |
|
|
Das is ne gute Idee, danke! |
|
Nach oben |
|
|
MalteF
Anmeldungsdatum: 04.12.2008 Beiträge: 44
|
Verfasst am: 11.03.2013, 23:49 Titel: |
|
|
Also, man kann es aus dem Datenfeld direkt lesen :
0/1. Byte = Breite
2.byte = Höhe
das reicht erstmal für meine Zwecke..
Zuletzt bearbeitet von MalteF am 12.03.2013, 00:11, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 11.03.2013, 23:53 Titel: |
|
|
Ich nehme mal an, dass einfach die untersten drei Bit im ersten Byte für etwas anderes benutzt werden als für die Größe, deshalb *8 (bzw ein Bit-Shift um 3 Bit). das zweite Byte (oder Teile davon) wird vermutlich die oberen Bits der Breite enthalten, da 5 Bit etwas wenig sind... _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
MalteF
Anmeldungsdatum: 04.12.2008 Beiträge: 44
|
Verfasst am: 12.03.2013, 00:13 Titel: |
|
|
Jojo hat Folgendes geschrieben: | Ich nehme mal an, dass einfach die untersten drei Bit im ersten Byte für etwas anderes benutzt werden als für die Größe, deshalb *8 (bzw ein Bit-Shift um 3 Bit). das zweite Byte (oder Teile davon) wird vermutlich die oberen Bits der Breite enthalten, da 5 Bit etwas wenig sind... |
Hab auch grad gemerkt, dass das wie ich's mir ursprünglich dachte garnicht hinhaute...
Thx! |
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2508 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 12.03.2013, 23:13 Titel: |
|
|
In diesem Fall bitte immer darandenken: BSAVE speichert RAM-Speicherbereiche mit beliebigen Daten ab, BLOAD einfach das Umgekehrte. Dabei "weiss" BSAVE überhaupt nichts davon, ob es ein Bild, Samples eine Sound, Array-Variable in QB oder sonst irgend etwas ist. Ein Header mit Infos wie Grösse, Farbtiefe, Palette usw. wie bei richtigen Bitmap-Dateiformaten suchst Du deshalb vergeblich.
BSAVE und BLOAD arbeiten ungefähr so, wie wenn Du eine Seite fremdsprachigen Text abschreiben würdest, der in einer überhaupt nicht geläufigen Sprache geschrieben ist. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4599 Wohnort: ~/
|
|
Nach oben |
|
|
|