Matthes Geschrieben 20. April 2004 Geschrieben 20. April 2004 Hallo, ich habe folgendes Problem: Ich würde gerne ein Bitmap mit Visual C++ zur Laufzeit aus einer Oracledatenbank laden. Gebraucht wird das ganze für eine dynamische Toolbar. Leider stehe ich wie der Ochs vorm Berg. Ich habe gehört, dass man auf Datenbankseite das Bitmap als BLOB speichern sollte, aber wie lese ich diesen Datentyp aus und wie bekomme ich das ganze dann in eine Instanz von CBitmap? Bin für jede Hilfe dankbar! Matthias Zitieren
Matthes Geschrieben 20. April 2004 Autor Geschrieben 20. April 2004 Habe ich auch schon probiert, aber irgendwie funzt das nicht. Ich lese den Inhalt aus dem Blobfeld in eine Instanz von CDBVariant ein. Das ganze dann in CBitmap zu casten klappt nicht wirklich. Auch nur den Handle zu casten habe ich auch nicht hinbekommen... Zitieren
Diablo999 Geschrieben 21. April 2004 Geschrieben 21. April 2004 Wie hast du das Bild den in der DB gespeichert? Als JPG einfach rein? Was fürn Format? Wenn das Bild einfach nur Binär in der Datenbank liegt und du es ausliest bekommst du ja nur die Binärdaten -> Kannste nicht casten... Entweder, wenn du ein BMP verwendest kannst du die einzelnen Bits (bei der Win32 API) mit SetDIBits in ein Bitmap schreiben Oder aber du erstellt mit CreateFileMapping ein MemoryMapping mit genau der Größe deiner Binärdaten und kopierst diese dann da rein, vergibst noch nen schönen Namen und kannst dann einfach das Bitmap aus dem MemMap laden :-) Geht bestimmt auch nochn bisschen einfacher, jhabs auch net ausprobiert sondern schlag bloß vor wies gehen könnte! Gruß Diablo999 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.