[gelöst] einfachster weg von std::vector zu bild auf der festplatte



  • hustbaer schrieb:

    wird vermutlich am structure packing liegen.

    #pragma pack(push)
    #pragma pack(1)
    
    typedef struct {
         char id[2]; //magic number
         unsigned long filesize; //size of the file
         unsigned short reserved[2]; //unused
         unsigned long headersize; //the offset where the bitmap data (pixels) can be found
         unsigned long infoSize; //the number of bytes in the header (from this point)
         unsigned long width; //width of image
         unsigned long height; //height of the image
         unsigned short biPlanes; //number of color planes
         unsigned short bits; //number of bits/pixel
         unsigned long biCompression; //if compression is used
         unsigned long biSizeImage; //size of raw BMP data
         unsigned long biXPelsPerMeter; //horizontal resolution
         unsigned long biYPelsPerMeter; //vertical resolution
         unsigned long biClrUsed; //number of colors in the palette
         unsigned long biClrImportant; //importance of colors
    } BMPHEAD;
    
    #pragma pack(pop)
    
    // ...
    

    genau daran lag es. vielen dank.
    daran hatte ich gar nicht gedacht.

    jperl



  • nächstes mal einfach die vordefinierten structs aus den windows-headers verwenden, dann musst du dich darum nicht kümmern.



  • hustbaer schrieb:

    nächstes mal einfach die vordefinierten structs aus den windows-headers verwenden, dann musst du dich darum nicht kümmern.

    davon gibt es aber kein entsprechendes pendant für linux oder?

    jperl

    achja zur info:
    hätte hier jetzt eine einfache klasse gefunden die ich eigentlich gesucht hätte.
    hab aber nur kurz drübergeschaut, da ich jetzt ja meine eigene routine habe.
    scheint ganz ok zu sein:
    http://www.kalytta.com/bitmap.h


Anmelden zum Antworten