Bild auf den Desktop zeichnen
-
da gibts BitBlt bzw. StretchBlt
-
@BenötigeHilfe
Für was brauchst Du das eigentlich?
-
-
Ich habe es nun wie folgt gelöst:
HBITMAP hbm = (HBITMAP)LoadImage(NULL,"test.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE); HDC hdcTarget = GetDC(0); HDC hdcBitmap = CreateCompatibleDC( hdcTarget ); HBITMAP hbmOld = (HBITMAP)SelectObject( hdcBitmap, hbm ); StretchBlt(hdcTarget,0,0,100,100,hdcBitmap,0,0,200,200,SRCCOPY); SelectObject( hdcBitmap, hbmOld ); DeleteDC( hdcBitmap ); ReleaseDC( NULL, hdcTarget );Ist der Code korrekt(Speicherfreigabe, ...)?
Danach lasse ich euch auch fürs erste in Ruhe

-
*push*
-
Google mal nach GDI Tutorial. Da müsste etwas brauchbares kommen.
die GDI gehört zur WinSDK und hast du auch schon gedownloadet. Ich bin mir sicher dass du mit der GDI auch auf dem Desktop zeichnen kannst mit der kannst du überall hinzeichnen. Viel Spass. Aber wenn du in die Zeichensucht kommst wirst du auf kurz oder lag einmal DirectDraw benützen wollen. Das ist viel umfangreicher.
www.google.de
-
Ein Link zu Google, wie geil ist das denn?

-
Nicht lustig. Traurig.
-
Jetzt stellt sich nur die Frage, wie man das interpretiert. Entweder du bist der Dumme, weil du auf die Idee gekommen bist einen Google-Link zu posten oder er ist der Dumme, weil er nicht zu Google findet, was, glaube ich, sehr unwahrscheinlich ist!

-
Eigentlich wollte ich von euch nur wissen, ob mein Code den ich mir durch Google usw... earbeitet habe im Bezug auf die Speicherfreigabe etc. korrekt ist und ich ihn so verwenden kann?
BenötigeHilfe
-
Ich würde mal behaupten "hdcBitmap" und "hbm" werden nicht freigegeben.
-> Resource-Leak.
-
hustbaer schrieb:
Ich würde mal behaupten "hdcBitmap" und "hbm" werden nicht freigegeben.
-> Resource-Leak.Wie muss ich den Code abändern damit ich dieses Problem behoben habe? Sorry, das ich so nerve, aber ich möchts einfach vernünftig haben, nur versteht hier leider keiner, das ich mit einem Stück Code mehr anfangen kann... Denn freigeben kann ichs auf VIELE Weisen, welche davon dann richtig ist weiß ich nicht. Deswegen wäre es mir lieber, wenn mir das jemand kurz einbauen würde, das kostet euch doch maximal 2 Minuten.
Danke!
-
Und bringt dir nichts. Weil du es dann siehst, es aber nicht verstehst, weil du dir keine Mühe machst, es selbst rauszufinden.
-
WilMen schrieb:
Jetzt stellt sich nur die Frage, wie man das interpretiert. Entweder du bist der Dumme, weil du auf die Idee gekommen bist einen Google-Link zu posten oder er ist der Dumme, weil er nicht zu Google findet, was, glaube ich, sehr unwahrscheinlich ist!

*LOL*
Niemand ist der dumme es ist nur traurig ,dass viele Leute kein Google benützen,obwohl man sich die Lösung so viel Leichter beschaffen kann.P.S.: Also ich habe in Google ein Tutorial gefunden in dem sogar gesagt wird,wie man auf dem Desktop zeichnet. -.-
-
Gute Seite darüber http://www.pronix.de/pronix-1069.html .
Mit AdjustClientRect wird der Ursprung eines Rechtecks(typedef struct RECT) auf die linke,obere Ecke des Bildschirms verlagert. Somit zeichnet man auf die Arbeitsfläche(Desktop).
Wenn man in sein Fenster zeichnen möchte:
AdjustWindowRect oder
GetWindowRectIch habe nicht soviel Zeit deswegen kann ich das ganze nicht erläutern. Ich denke auf http://www.pronix.de/pronix-1069.html wird gut erläutert wie man generell zeichnet mit der GDI.
Alle Informationen stammen aus einem vertrauenserweckenden Buch.
-
BenötigeHilfe schrieb:
Eigentlich wollte ich von euch nur wissen, ob mein Code den ich mir durch Google usw... earbeitet habe im Bezug auf die Speicherfreigabe etc. korrekt ist und ich ihn so verwenden kann?
BenötigeHilfe
Ich denke das wird auch auf dieser Seite erläutert.