Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi 3D Grafik auf Desktop (https://www.delphipraxis.net/85896-3d-grafik-auf-desktop.html)

56K-Surfer 6. Feb 2007 16:06


3D Grafik auf Desktop
 
Hallo zusammen
Ich hab mal eine Frage, und zwar würde mich interessieren ob jemand weiß oder davon gehört hat ob man auf dem Desktop irgendwie einen transparenten 3D-Zeichenkontext hinbekommt. Für ein genaueres Bild von dem was ich mir vorstelle:

i-Cover

Ich weiß nicht wie das da realisiert ist, vieleicht mit der GDI+ aber irgendwie glaub ich nitch das ich mit der GDI+ halbwegs flüssig aussehende Bewegungen auf den Desktop zaubern kann. Oder wie machen das zB Widget tools wie die von StarDock oder YahooWidgets? Hat da jemand nähere infos?

Würd mich über Hinweise freuen
Grüße

Sebastian

TonyR 6. Feb 2007 16:19

Re: 3D Grafik auf Desktop
 
So, wie es auf den Bildern zu sehen ist, ist der 3D Bereich ja nicht hinter Icons, sodass es mir recht einfach erscheint, so etwas zu realisieren.... :???:
Ich würde einfach mein Programm ohne Rahmen und Taskleisten-Eintrag laufen lassen, und das ganze mit ogl oder directx realisieren.
Vielleich verstehe ich dich auch falsch (weil mir die Lösung so simpel erscheint)... wenn ja dann kann ich dir leider nicht weiterhelfen...

Achso (vergessen): wilkommen in der DP !!!!

turboPASCAL 6. Feb 2007 16:23

Re: 3D Grafik auf Desktop
 
Zitat:

Zitat von TonyR
... Vielleich verstehe ich dich auch falsch (weil mir die Lösung so simpel erscheint)... wenn ja dann kann ich dir leider nicht weiterhelfen...

:mrgreen:

Ein klares JaiN !

Das Problem ist das Alphablending. Um saubere Kanten zu bekommen muss man mit UpdateLayeredWindow arbeiten.
Das heisst wiederum man muss alles selbst zeichnen. Viel Arbeit also... :gruebel:

TonyR 6. Feb 2007 16:26

Re: 3D Grafik auf Desktop
 
Stimmt, ich habe gar nicht mehr dran gedacht, dass es ja transparent sein soll....
Aber wenn es nich transparent sein müsste, dann wäre es doch eigentlich so einfach, wie ich es mir dachte oder :?:

56K-Surfer 6. Feb 2007 16:29

Re: 3D Grafik auf Desktop
 
Hab ich auch schon darn gedacht, das größte Problem ist wohl wirklich das AlphaBlending. OpenGL und Co sind wohl schön schnell aber bestimmt nicht antialiased, semitransparent und so auf den Desktop zu bekommen oder?

turboPASCAL 6. Feb 2007 17:21

Re: 3D Grafik auf Desktop
 
Zitat:

Zitat von 56K-Surfer
...das größte Problem ist wohl wirklich das AlphaBlending.

Jupp, dem ist so.

Zitat:

Zitat von 56K-Surfer
OpenGL und Co sind wohl schön schnell...

Jo.

Zitat:

Zitat von 56K-Surfer
... aber bestimmt nicht antialiased, semitransparent und so auf den Desktop zu bekommen oder?

Wie gesagt Jain. Mit Tricks usw. ist es durchaus Möglich. Das grosse Problem ist das die Objekte zB. im OpenGL auf den OpenGL-Hintergrung kein Alphakanal erzeugen wie man es für ein Bitmap benötigt mit dem das die Scene auf den Desktop gebracht werden kann.

56K-Surfer 6. Feb 2007 18:18

Re: 3D Grafik auf Desktop
 
Hab gerade mal ein wenig der mit GDIPlus gebastelt und da ein Bild im Kreis über die Form fliegen lassen. Einfach einen Timer für ein onPaint und einen Zähler. Ging eigentlich ganz flüssig, ich glaub ich probier das mal damit. Eigentlich bauen will ich ja sowas wie im link aus meiner 1. Post hier im Thread. Halt nur selber gemacht da ich ein eingenes Musikverzeichniss in einer MySQL DB hab und da die Daten her holen möchchte.
Kennt sich da zufällig jemand mit der GDI+ gut aus? Hab es da wohl geschafft ein Bild so schräg zu verzerren (für den räumlichen Effekt) aber halt nur an 3 Eckpunkten aufghangen, also keine wirklichen Trapezformen, dafür bräuchte man ja 4 Eckpunkte aber mit vieren will die Drawimage-Funktion nicht funktionieren.

E307 6. Feb 2007 18:27

Re: 3D Grafik auf Desktop
 
Wenn einfach nur das Formular unsichtbar gemacht werden soll geht das so:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Color:=clFuchsia;
Form1.TransparentColorValue:=clFuchsia;
Form1.TransparentColor:=true;
Form1.BorderStyle:=bsNone;
end;
Damit wird die Formularfarbe auf clFuchsia gestellt, und alles auf dem Form, was diese Farbe hat, wird transparent. Mit reinem OpenGL wird das sehr schwierig werden...

56K-Surfer 6. Feb 2007 19:26

Re: 3D Grafik auf Desktop
 
Danke für die Antwort bezüglich der Transparenten Form, E307
Was das angeht habe ich sogar schon ein wenig Erfahrung. Eine Art Coverdisplay-Widget hab ich mir damit schonmal selbst gebastelt.
Das zeigte mir dann falls vorhanden das Cover das Liedes was gerade in Winamp lief.

so sah es in Aktion aus

Hab ich dann aber nach einiger Zeit durch ein selbst gezimmertes Widget für die YahooWidget-engine ersetzt. Das lief irgendwie flüssiger. Bei Animationen und Bewegungen. Das frage ich mich sowieso wie die das hinbekommen, so schnell und flüssig bewegungen auf den Desktop zu malen... Wenn da jemand eine Idee hat. Muss doch die GDI+ sein oder?

EWeiss 6. Feb 2007 19:56

Re: 3D Grafik auf Desktop
 
In OpenGl würde das schon gehen aber mache dich da besser selbst mal schlau!
http://www.sulaco.co.za/opengl2.htm

Schau dir dazu mal 'glWindows' an.
Transparenter gehts nicht.

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:54 Uhr.
Seite 1 von 2  1 2      

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