Hi ich versuche seit Stunden ein Bitmap zu machen. Dazu versuche ich die ganze zeit den Aufbau zu verstehen, aber leider hilft mir das nicht weiter.
im code sind keine fehler, aber das bitmap, was da entsteht funktioniert nicht, ich kann es mir nicht angucken.
Wäre sher nett, wenn irgendjemand mir helfen könnte, und danke schonmal im vorraus
Code:
#include <stdio.h>
typedef unsigned short int WORD;
typedef unsigned long int DWORD;
struct BITMAPFILEHEADER
{
WORD bfType;
DWORD bfsize;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits;
}bmpf;
struct BITMAPINFOHEADER
{
DWORD biSize;
DWORD biWidth;
DWORD biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
DWORD biXPelsPerMeter;
DWORD biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
}bmph;
FILE *f1;
void main()
{
f1 = fopen("test.bmp", "w+b");
bmpf.bfType = 19778;
bmpf.bfsize = 54+(40*100);
bmpf.bfReserved1 = 0;
bmpf.bfReserved2 = 0;
bmpf.bfOffBits = 54;
bmph.biSize = 40;
bmph.biWidth = 40;
bmph.biHeight = 100;
bmph.biPlanes = 0;
bmph.biBitCount = 8;
bmph.biCompression = 0;
bmph.biSizeImage = 0;
bmph.biXPelsPerMeter = 0;
bmph.biYPelsPerMeter = 0;
bmph.biClrUsed = 0;
bmph.biClrImportant = 0;
fwrite(&bmpf, sizeof(struct BITMAPFILEHEADER), 1, f1);
fwrite(&bmph, sizeof(struct BITMAPINFOHEADER), 1, f1);
for(int i = 0; i < (40*100); i++)
fputc(2, f1);
fclose(f1);
}
Wäre sher nett, wenn irgendjemand mir helfen könnte, und danke schonmal im vorraus