Entwickler-Ecke

Multimedia / Grafik - Desktopanimation


Kaaablaaam - So 14.08.05 02:10
Titel: Desktopanimation
Ich will eine Desktopanimation mit Delphi-OpenGL machen. Dabei soll sich ein kleines Männchen auf dem Desktop ein bewegen. Das Problem ist jetzt Folgendes:

Wie kann ich mein Form so zurechtschneiden, dass nur das Männchen sichtbar ist und nicht noch der Rest des Forms, wie das Teil, wo man das Form vergrössern, verkleinern oder schliessen kann? Es sollte wirklich nur das Männchen zu sehen sein, jedoch der restliche Desktopbildschirm neben dem Männchen noch benutzbar sein.

Falls jemand irgendeine Lösung für dieses Problem weis, wäre ich äusserst dankbar. Habe jetzt schon stundenlang gegoogelt und einfach nichts nützliches gefunden. Ich habe schon gefunden, das man das Form kreisartig darstellen kann und so weiter, aber das ist nicht was ich will.

Danke für jede Hilfe.


retnyg - So 14.08.05 05:49

afaik läuft OGL nur im fenster oder fullscreen modus

du wirst also nicht drum rum kommen, das figürlein auf den desktop canvas zu zeichnen


Kaaablaaam - So 14.08.05 11:18

Das heisst, ich kann das nicht mit OpenGL machen? Ich muss es wirklich in ein TIMAGE? Gibt es keine Möglichkeit OpenGL in ein TIMAGE hinein zu bringen?


CK_CK - So 14.08.05 12:23

Also, bei mir klappt in Delphi 7 folgendes:
1. Den Hintergrund des Männchens und die Form z.B. auf clRed setzen
2. Den BorderStyle auf bsNone setzen
3. TransparentColor auf True setzen
4. TransparentColorValue auf clRed setzen

Falls das bei dir nicht möglich ist, gibt's auch passende API-Funktionen, einfach mal nach Alphablend und TransparentBlt suchen...

CK_CK


Harry M. - So 14.08.05 16:02

Kuck Dir mal das hier man: http://www.delphi-forum.de/viewtopic.php?t=28677&highlight=oddform


Kaaablaaam - So 14.08.05 17:09

Zitat:

Also, bei mir klappt in Delphi 7 folgendes:
1. Den Hintergrund des Männchens und die Form z.B. auf clRed setzen
2. Den BorderStyle auf bsNone setzen
3. TransparentColor auf True setzen
4. TransparentColorValue auf clRed setzen


Das Funktioniert perfekt. Wenn ich nun in OpenGL Kugeln mache, dann sieht man nur diese auf dem Desktop.

Danke.