Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

BMP laden

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Stefan



Anmeldungsdatum: 17.09.2004
Beiträge: 22

BeitragVerfasst am: 26.09.2004, 13:38    Titel: BMP laden Antworten mit Zitat

Ich hatte mal ein Programm geschrieben, mit dem man 24-Bit-BMP-Bilder laden und ausgeben konnte. Damals hatte es herforragend funktioniert. Als ich jetzt wieder etwas damit machen wollte, gab es plötzlich Probleme.

Ich konnte den Fehler eingrenzen. Am Ende jeder Zeile stehen ja noch ein paar Füllbytes. Mit der folgenden Formel hatte ich berechnet wieviele Bytes das sind:
AnzahlFuellByte = 4 - ((Header.Breite * 3) MOD 4)

Diese Formel muß falsch sein, denn wenn ich den Wert der Variablen änderte duch ausprobieren, z.B. AnzahlFuellByte = 3 dann wurde plötzlich das Bild richtig angezeigt.

Gibt es hier jemanden, der sich damit auskennt, und weiß wie die Formal richtig lautet?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 26.09.2004, 14:07    Titel: Antworten mit Zitat

Siehe ansonsten meine Version:

http://www.dreael.ch/Deutsch/Download/WindowsBitmapBibliothek.html

Nur so viel dazu: Sämtliche Pixelzeilen werden immer "32 bit aligned" gespeichert, d.h. man rundet immer auf eine durch 4 teilbare Anzahl Bytes auf.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Stefan



Anmeldungsdatum: 17.09.2004
Beiträge: 22

BeitragVerfasst am: 26.09.2004, 15:44    Titel: Fehler gefunden Antworten mit Zitat

Danke für die Antwort.

Den Fehler habe ich jetzt zum Glück finden und beheben können.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Stefan



Anmeldungsdatum: 17.09.2004
Beiträge: 22

BeitragVerfasst am: 10.12.2004, 16:45    Titel: BMP erstellen Antworten mit Zitat

Ich habe jetzt ein sehr ähnliches Problem, deshalb schreibe ich es mal hier dazu. Diesmal will ich eine BMP-Datei mit Qbasic erstellen. Hier mal der Dateiheader:
Code:
TYPE DateiHeader    ' 54 Bayt Größe
   DateiTyp AS INTEGER      ' Signatur "BM" (0x4D42); als Dezimalzahl:19778
   DateiGroesse AS LONG     ' Datei Größe
   Reserved AS LONG         ' Reserviert (normalerweise = 0)
   BildOffset AS LONG       ' Offset, ab dem die Bilddaten gespeichert sind

   'Beginn Info-Block
   InfoBlockGroesse AS LONG ' Größe des Info-Headers in Byte (muß =40 sein)
   Breite AS LONG           ' Breite des Bildes in Pixeln
   Hoehe AS LONG            ' Höhe des Bildes in Pixeln
   Farbebenen AS INTEGER    ' Farbebenen (muß =1 sein)
   BPP AS INTEGER           ' Bits Pro Pixel (also 1, 4 ,8 oder 24)
   Kompression AS LONG      ' Typ der Komprimierung (normalerweise =0)
   BitmapBereich AS LONG    ' Größe des Bitmap-Datenbereiches in Byte
   ResX AS LONG             ' horizontale Auflösung
   ResY AS LONG             ' vertikale Auflösung
   FarbenBenutzt AS LONG    ' Zahl der benutzten Farben (normalerweise =0)
   FarbenWichtig AS LONG    ' Zahl der wichtigen Farben (normalerweise =0)
END TYPE

Leider kann ich mit den beiden Werten für die Auflösung ResX und ResY nichts anfangen, was geben diese Zahlen an? Scheinbar schreibt Paint immer 3780 für beide Werte da rein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mecki
Igel


Anmeldungsdatum: 10.09.2004
Beiträge: 985
Wohnort: Niederbayern

BeitragVerfasst am: 10.12.2004, 19:38    Titel: Antworten mit Zitat

Google findet das hier: http://theleif.org/compsci/bitmap.html - ist aber auch nur teilweise hilfreich.

Grüßle,
Mecki lächeln
_________________
» Yodl.de: So sucht man gestern. verwundert
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger MSN Messenger
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 10.12.2004, 20:34    Titel: Antworten mit Zitat

Du kannst sonst den Quelltext von SpeichereBild() in BMP_LIB.BAS aus

http://www.dreael.ch/Deutsch/Download/WindowsBitmapBibliothek.html

studieren - macht genau das, was Du möchtest.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz