CreateBitmap ParameterFrage



  • HBITMAP CreateBitmap(
      int nWidth,         // bitmap width, in pixels            klar
      int nHeight,        // bitmap height, in pixels           klar
      UINT cPlanes,       // number of color planes             unklar
      UINT cBitsPerPel,   // number of bits to identify color   klar 1: monochrom
                                                                     4:  16 Farben
                                                                     8: 256 Farben
                                                                     u.s.w   
      CONST VOID *lpvBits // color data array                   klar oder auch nicht
                                                                     (muß das in Abhägigkeit der Parameter anders sein?)
    );
    

    Wäre sehr dankbar für eine konkrete Antwort

    Gruß

    Robert 🙄



  • Ich denke mal, dass du in dem Buffer dann eben für jeden Pixel soviel Bits/Bytes belegst, wie du angegeben hast - außerdem noch beachten:

    Pointer to an array of color data used to set the colors in a rectangle of pixels. Each scan line in the rectangle must be word aligned (scan lines that are not word aligned must be padded with zeros).

    edit: Sorry, du wolltest eine konkrete Antwort 🙄
    Musst wohl noch warten, bis jemand vorbeischaut, der sich da auskennt 😉



  • Anregungen zum Denken helfen auch oft weiter.

    Gruß Robert 😉



  • Du kannst ein Farbbild auch in mehreren Ebenen speichern - erst alle Rotwerte, danach alle Grünwerte und schließlich alle Blauwerte (je in einer h*w Matrix) 😉 (reicht das als Anregung?)



  • Ist das ein Fehler in der MSDN? Normalerweise werdei die Scanlines doch auf DWORDs ausgerichtet wie bei SetDIBits und anderen Funktionen auch?!


Anmelden zum Antworten