Bitmap bearbeiten



  • Hallo zusammen

    Noch eine Frage zu Bitmaps:
    Ich versuche momentan ein Bitmap, das als Ressource bereitliegt in den Speicher zu laden und dann zu bearbeiten. Ich will dabei jeden Pixel einzeln bearbeiten können.

    Ich mache dies mit der folgenden Funktion:

    void CDlgPCTL::DrawBitmap(CPaintDC *pdc, CWnd *pWnd)
    {
    	 CBitmap bitmap;
    	 bitmap.LoadBitmap(IDB_BALKEN);
    	 BITMAP bm;
    	 bitmap.GetObject(sizeof(bm), &bm);
    	 CDC speicherDC;
    	 speicherDC.CreateCompatibleDC(pdc);
    	 speicherDC.SelectObject(&bitmap);
    	 speicherDC.SetPixel(1,5,RGB(0,255,0));
    }
    

    Mein Bitmap wird mir geladen, nur tut sich nichts, wenn ich das Bitmap in den Ressourcen nach Beendigung der Routine aufrufe... Pixel 1,5 ist standardmässig rot und dies bleibt auch so...
    Wie kann ich das, was ich im Speicher habe, wieder zurück in die Ressource schreiben? Ich finde nur Anleitungen, um das Bitmap nach der Bearbeitung auf den Bildschirm auszugeben, dies will ich aber nicht. Ich will das Bitmap zurückschreiben und dann reinladen, wenn ich es benötige...

    Gruz

    Dan



  • Das wird so nichts, das was du tun solltest is das Bitmap als file zu laden und dann danach wieder zu speichern. Ne Ressource in der exe kannste nur dann dauerhaft ändern indem du du das neue Bitmap direct in der exe durchs alte ersetzt das sollte wohl den rahmen der anwendung sprengen denke ich. ALso amchs lieba mit files die du dann lädst.

    Hoffe hab hier nichts falsches erzählt.



  • @xyz44: Nein, hast du nicht...
    Ich bin mittlerweile auch soweit...Ich speichere das Bitmap als File raus und dachte mir bis anhin, es dann doch irgendwie als Ressource wieder reinladen zu können...Aber na ja...Dann eben nicht...Dumm ist nur, dass dann im Stammverzeichnis immer noch eine BMP Datei "rumliegt"...Aber ich bin der Lösung schon ganz nahe...

    Trotzdem ein herzliches Dankeschön

    Gruz

    Dan



  • Naja da gibet ja mehrere Möglichkeiten, du könntest zum bsp folgendes machen is der simpelste trick den man anwenden kann du machst einfach ne andere dateiendung dran. Es bleibt ja nen bitmap nur das es eben außer dir keiner weiß oder wenn du net willst das das bitmap außer von deinem prog verwendet werden kann eben ne art verschlüßelung anwenden. Must du entscheiden wenn es allerdings nur daran liegt das es im ordner mit rum liegt kann ich dir net helfen. 🙂


Log in to reply