Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Andy19312
Anmeldungsdatum: 22.10.2005 Beiträge: 428
|
Verfasst am: 12.08.2008, 15:48 Titel: Datei binär einlesen |
|
|
Hallo zusammen,
da ich nun eine bmp Datei einlesen möchte, welche mir zuerst einmal den Dateikopf und Informationsblock anzeigen soll, wollte ich diese Grafik dann anschliessend auch noch darstellen.
Bevor ich jedoch zum darstellen der Grafik komme, muss ich erst einmal die Datei binär einlesen.
Irgendwie klappt es nicht:
Dim As Integer DateiNummer = FreeFile
Dim As String t
'--- Datei lesen ---
OPEN "a.bmp" FOR INPUT AS #DateiNummer
INPUT #DateiNummer, t
CLOSE #DateiNummer
PRINT t
SLEEP
Alles bekomme ich an Zeichen nicht angezeigt.
Was mache ich falsch |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Andy19312
Anmeldungsdatum: 22.10.2005 Beiträge: 428
|
Verfasst am: 12.08.2008, 16:17 Titel: |
|
|
Ich will die Datei ganz normal in einen String einlesen.
Anschliessend mit right und left die erforderlichen Zeichen aus dem String herausfischen und dann anzeigen, wass im Dateikopf und Informationsblock steht.
Ist das schwer zu verstehen?
http://de.wikipedia.org/wiki/Windows_Bitmap
Cu Andy |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 12.08.2008, 16:24 Titel: |
|
|
der code, den sebastian verlinkt hat, zeigt schon mal, wie man die höhe und breite des bildes ausliest. der rest geht genauso! _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 12.08.2008, 16:58 Titel: |
|
|
Hallo!
Ich glaube die Verständnisschwierigkeiten liegen hier anderswo....
http://www.freebasic-portal.de/index.php?s=fbporticula&mode=show&id=407 Vor etwa 3 Jahren habe ich den verlinkten Quelltext mal geschrieben. (Heute würd ich den wohl etwas optimierter schreiben... ) Der Header einer BMP-Datei wird vom Programm zunächst binär (-> BINARY) als UDT-Variable eingelesen, dann wird das Bild angezeigt (PRINT ist nur für ASCII-Zeichen und nicht für bunte Bilder - mal von ASCII-Art abgesehen).
Da der Quelltext schon relativ alt ist, wird er sich mit der aktuellsten FreeBASIC-Version möglicherweise nicht mehr reibungslos compilieren lassen. Viel dürfte allerdings nicht zu ändern sein. Das Programm lädt das BMP-Bild übrigens Pixel für Pixel "zu Fuß". Das ist viel langsamer als FreeBASICs integrierte BLOAD/PUT-Funktionalität, war damals aber für einen Spezialfall nötig.
Der Umweg über einen STRING ist zwar nicht nötig, aber wenn du ihn beschreiten willst, kannst du das natürlich auch tun.
Viele Grüße!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
|