Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Bild direkt auf Desktop ausgeben (https://www.delphipraxis.net/59636-bild-direkt-auf-desktop-ausgeben.html)

Meflin 26. Dez 2005 12:33


Bild direkt auf Desktop ausgeben
 
Aloha!

Ich habe ein GIF Bild (wahlweise PNG), also mit Transparenz, das ich gerne einfach auf den Desktop ausgeben würde. Nur, wie ihr euch denken könnt, ich habe keinen Plan wie man sowas eigentlich anstellt :gruebel:

Deswegen hoffe ich jetzt einfach mal auf eure Mithilfe :mrgreen:


PierreB 26. Dez 2005 12:48

Re: Bild direkt auf Desktop ausgeben
 
Moin Meflin,

was verstehst du denn unter ausgeben ? Das Bild als Hintergrundbild auf den Desktop legen ? Dann wäre vielleicht das hier etwas für dich.

Schöne Grüße :hi:

Meflin 26. Dez 2005 12:58

Re: Bild direkt auf Desktop ausgeben
 
Nein, das meine ich nicht.


Das Bild stellt einen Cursor dar. Wenn man einen Hotkey meines Programmes betätigt, soll dieses Cursorbild an der Stelle auf dem Desktop einfach hingemalt werden, an der der echte Cursor sich gerade befindet. Egal was da ist, und zwar oben drüber, nciht als Hintergrund.


SirThornberry 26. Dez 2005 13:05

Re: Bild direkt auf Desktop ausgeben
 
du kannst das ganze auf ein TBitmap assignen und dann auf die DesktopDC zeischnen.
Delphi-Quellcode:
var LDC: HDC;
begin
  LDC := GetDC(0);
  BitBlt(LDC, XPos, YPos, DeinBitmap.Width, DeinBitmap.Height, DeinBitmap.Canvas.Handle, 0, 0, SRCCOPY);
  ReleaseDC(0, LDC);
end;

Meflin 26. Dez 2005 13:42

Re: Bild direkt auf Desktop ausgeben
 
Ok, das funktioniert prinzipiell, nur nicht mit Transparenz. Mein TPNGImage kennt kein Canvas.Handle :( und TBitmap unterstützt wiederum keine PNGs oder GIFs. Was liese sich da machen?


SirThornberry 26. Dez 2005 15:36

Re: Bild direkt auf Desktop ausgeben
 
ich kenne TPNGImage nicht. Prinzipiell muss es da aber ein Byte pro Pixel für den Alphakanal geben. Und das musst du beim ausgeben mit einbeziehen. Wie gibst du das TPNGImage sonst aus so das der Alphakanal beibehalten wird?

Meflin 26. Dez 2005 16:49

Re: Bild direkt auf Desktop ausgeben
 
Zitat:

Zitat von SirThornberry
ich kenne TPNGImage nicht. Prinzipiell muss es da aber ein Byte pro Pixel für den Alphakanal geben. Und das musst du beim ausgeben mit einbeziehen.

Schon. Aber wie überhaupt ausgeben?


SirThornberry 26. Dez 2005 21:59

Re: Bild direkt auf Desktop ausgeben
 
Welches TPNGImage verwendest du? Also woher hast du es? Dann könnte man wenigstens selbst mal schauen was es da so für methoden gibt wenn man weiß welches du verwendest.

Meflin 26. Dez 2005 22:11

Re: Bild direkt auf Desktop ausgeben
 
Voila http://pngdelphi.sourceforge.net/


SirThornberry 26. Dez 2005 22:59

Re: Bild direkt auf Desktop ausgeben
 
so sollte es funktionieren:
Delphi-Quellcode:
    LDC: TCanvas;
begin
  LDC := TCanvas.Create;
  LDC.Handle := GetDC(0);
  LDC.Draw(0, 0, LImage);
  ReleaseDC(0, LDC.Handle);
  LDC.Handle := 0;
  LDC.Free;
LImage ist bei mir ein TPNGObject welches von TGraphic abgeleitet ist. Es sollte also mit allen Object funktionieren die von TGraphic abgeleitet sind (also auch TBitmap, TJPEGImage etc.)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:34 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz