image malen



  • Hallo an die Experten!

    Ich habe ein Problem. Ich habe einen Pointer auf einen Speicherbereich der Pixel enthält und würde diese nun gerne in ein Fenster malen. Kann mir da jemand etwas support leisten??

    Danke
    herbert



  • Woher hast du denn den Pointer bzw. wie sind die Daten im Speicher aufgebaut?



  • naja ich habe den pointer von einer funktion die mir die pixel des bildes im speicher ablegt.
    die pixelanzahl ist fest und ich möchte aus diesem pixelhaufen gerne ein grauwertbild haben. größe pro pixel sind 2byte (farbtiefe).

    achso also um das ganze vielleicht etwas detaillierter zu schildern.

    pPixelDaten=(WORD*)malloc(WIDTH*HEIGHT*sizeof(WORD));

    so und ab pPixelDaten liegen dann im Memory meine Pixels rum die ich gern ausgeben würde.

    bin dankbar für jeden rat

    grüsse



  • Du könntest es mal mit CreateDIBSection (evtl. alternativ auch CreateDIBitmap) versuchen und dann die Pixel-Daten dort (in den Speicherbereich, den du in ppvBits mitgeteil bekommst) rein kopieren. Dann musst du noch mit CreateCompatibleDC einen Memory-DC erstellen, in den du das Bitmap mit SelectObject lädst. Wenn das alles so klappt kannst du diesen anschließend einfach mit den Blitting-Funktuionen (z.B. BitBlt) auf dein Fenster blitten 🙂


Anmelden zum Antworten