[VC++] .bmp uitlezen

Pagina: 1
Acties:

  • Marcj
  • Registratie: November 2000
  • Laatst online: 13:43
Ik heb een monochromo bitmap van 240x128 pixels. Ik wil deze kunnen uitlezen zodat ik een char[3840] of BYTE[3840] krijg, waar alle bits dus in staan. Maar hoe moet ik dat nu doen?

Ik heb nu dit, maar dat werkt natuurlijk niet echt
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
char result[3840]; //Om het resultaat op te slaan

int ReadBmp(char * filename)
{
  FILE* f;
  if(!(f = fopen(filename, "rb")))
    return 1;
  if(!(fgets(result, 1078, f)) //Om de bmp header over te slaan
    return 2;
  if(!(fgets(result, 3840, f)) //Om de daadwerkelijke data op te slaan
    return 3;
  fclose(f);
  return 0;
}

Nu krijg ik alleen aan het begin een paar bytes, maar meer ook niet :?
En volgens mij moet dit ook veel beter kunnen ;)

edit: Ik moet nu weg, maar ik lees jullie oplossingen later wel

  • Grum
  • Registratie: Juni 2001
  • Niet online
C-n00b speaking: leest fgets niet tot de volgende newline of tot z'n aangegeven buffer volzit?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Gebruik fread ipv fgets ?

fgets werkt met "strings" en ik gok dat die niet echt helemaal 'logisch' in dat plaatje verwerkt zitten ;)
(als in, er zou een \n kunnen staan zonder dat daar ook echt een \n bedoelt is)

  • Grum
  • Registratie: Juni 2001
  • Niet online
oe oe oe oe oe ik had et goed :+

  • Marcj
  • Registratie: November 2000
  • Laatst online: 13:43
Ik zal het vanavond wel ff proberen, want ik ben nu aan het werk ;)
edit: laat maar, wat kan het soms simpel zijn :P
Ik denk dat ik er met msdn nu wel uit kom

  • Marcj
  • Registratie: November 2000
  • Laatst online: 13:43
hmm, ik heb het ff getest, maar het dit gaat dus ook niet goed. Weet iemand misschien een makkelijke functie waarmee een bmp kan worden uitgelezen??
Pagina: 1