Lösung zum Kopieren von Bitmaps gesucht



  • Hallo allerseits,

    wenn ich a und b habe, beide vom Typ CBitmap, und ich möchte, dass b den gleichen Inhalt hat wie a ... wie geht das?

    So sähe die einfachste Methode aus, aber das geht bei CBitmap scheinbar nicht 😞

    [cpp ]
    {
    CBitmap a, b;
    a.LoadBitmap( irgendwas );
    ...
    b = a; // <= 'CBitmap' 'operator =' function is unavailable
    }
    [/cpp ]

    Warum nicht? Und wie lässt sich das Problem beheben?

    Vielen Dank!



  • Warum nicht?
    Weil der = Operator für diese Klasse nicht verfügbar ist.
    Du müsstest ihn dir also selber passend überladen.

    Eine Möglichkeit die du probieren könntest (ohne Garantie):

    1. a.GetObject(somestruct); //Strukturdaten der Bitmap holen
    2. b.Attach(somestruct); //Das GDI-Objekt mit Object b verbinden
    

    Ansonsten müsstest du erst die Größe der Bitmap a ermitteln (a.GetBitmap(~); )
    dann Object b mit diesen Größen einrichten (b.CreateCompatibleBitmap(~); )
    und dann von Object a in Object b reinblitten (CDC::BitBlt(von a nach b);



  • 👍

    Vielen Dank!

    Habe die zweite Methode genommen, eigentlich ganz einfach ...


Anmelden zum Antworten