HBitmap aus Resource über Graphics zeichnen
-
Aloah,
ich hab mir vorgenommen einen kleinen Bildschirmschoner zu programmieren indem ein Bild über den Bildschirm fliegt.
Wenn ich die Bilddatei Lokal von der Festplatte aufrufe funktioniert das, da ich das ganze aber als eine Datei halten will, kam die Idee mit der Resource File.
Habe das Bild usw in der Resourcefile angelegt und habs nach längerem Suchen dann so ausgelesen.
... HBITMAP hbild; ... hbild = LoadBitmap(NULL, MAKEINTRESOURCE(IDB_BITMAP1)); ...
Jetzt habe ich ja ein HBitmap, vorher hab ich das Bild von der Festplatte in ein
Bitmap ^bild;
eingelesen und so zeichnen lassen
private: System::Void Form1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) { e->Graphics->DrawImage(bild, p.X, p.Y, 240, 180); }
Doch wie mach ich das jetzt?
Kann ich das HBitmap irgendwie in ein Normales Bitmap packen oder wie zeichne ich das HBitmap das es über den Bildschirm fliegt.Danke schonmal
Mit freundlichen Grüßen
pyr0t0n
-
mh ich würde mal sagen das folgendes c++ ist
HBITMAP hbild; ... hbild = LoadBitmap(NULL, MAKEINTRESOURCE(IDB_BITMAP1));
und
e->Graphics->DrawImage(bild, p.X, p.Y, 240, 180);
ist c++/clr
glaube da wirds schwierig das mit einander zu verbinden.... so genau weiß ich da auch nicht... kenn mich mit dem HBITMAP... usw nicht aus
-
naja im grunde isses mir egal bin nur beim auslesen aus der Resource Datei über HBITMAP bestolpert wenn du oder jemand anderes ne anderen idee hat. Immer her damit ^^
-
Um Bilder aus einer Ressource zu laden, brauchst du einen ResourceManager
(System::Resources::ResourceManager). Dieser hat ne Methode GetObject() mit der du das entsprechende Bild einlesen kannst. Anschliessend brauchst du nur noch nen dynamic_cast um eine Bitmap davon zu machen.Eigentlich ganz einfach. Aber durchaus möglich das es da noch viel bessere Möglichkeiten gibt...
PS Den Verweis auf deine Assembly bekommst du so: Reflection::Assembly::GetEntryAssembly()
Viel Erfolg!