Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi [DelphiX] Text in andere 3D-Anwendung (https://www.delphipraxis.net/23230-%5Bdelphix%5D-text-andere-3d-anwendung.html)

Knarf 31. Mai 2004 11:38


[DelphiX] Text in andere 3D-Anwendung
 
Hallo,

ich suche nach einer Möglichkeit Text auf der Surface einer anderen 3D-Anwendung anzuzeigen. Wie kann man das (möglichst einfach 8) ) realisieren?

Gruß,
Knarf

c113plpbr 31. Mai 2004 12:11

Re: [DelphiX] Text in andere 3D-Anwendung
 
Die einfachste methode wäre ne TextOut -funktion, in einer endlosschleife oder einer timerschleife (da die 3d-anwendung, durch das anzeigen eines neuen frames, das was du ausgegeben hast wieder 'löscht'), die auf den DC des Spiels etwas ausgibt. Das blinkt dann zwar etwas (sehr ^^), aber es funktioniert und ist die einfachste methode ...

ciao, Philipp

Knarf 31. Mai 2004 12:29

Re: [DelphiX] Text in andere 3D-Anwendung
 
Hmm, das klingt gut. Aber wie krieg ich den DC der aktuellen Surface raus?

Gruß,
Knarf

c113plpbr 31. Mai 2004 12:34

Re: [DelphiX] Text in andere 3D-Anwendung
 
mit GetDC ...
[edit]
sagen wir so, dadurch zeichnest du NICHT auf das surface selbst, du 'legst' nur text darüber.
[/edit]

Knarf 31. Mai 2004 12:44

Re: [DelphiX] Text in andere 3D-Anwendung
 
Also ich hab jetzt folgendes in einem timer mit 10 ms:

Delphi-Quellcode:
var dc:thandle;
    fg:thandle;
begin
 fg:=getforegroundwindow;
 dc:=getdc(fg);
 dxdraw.Surface.Canvas.Handle := dc;
 if dxdraw.CanDraw then begin
  dxdraw.surface.Canvas.TextOut(0,0,'bla bla bla');
  dxdraw.surface.Canvas.Release;
  dxdraw.Flip;
 end;
 releasedc(fg,dc);
Auf dem Desktop funzt das ganz gut, aber sobald ich in das Spiel reingeh, klappt es nicht mehr. Nichts zu sehen...

Gruß,
Knarf

Knarf 31. Mai 2004 12:52

Re: [DelphiX] Text in andere 3D-Anwendung
 
Hab jetzt einen Standard-Canvas genommen und da funktioniert es, aber flimmert wirklich wie Ochse. Gibt es auch noch ne andere Möglichkeit?

Gruß,
Knarf

c113plpbr 31. Mai 2004 13:01

Re: [DelphiX] Text in andere 3D-Anwendung
 
na dann allerdings ... die gibt es ... nur die gehört dann nichtmehr in den bereich 'einfach' ...
Die Lösung ist API-Hooking ... allerdings sehr kompliziert.

ciao, Philipp

Knarf 31. Mai 2004 15:06

Re: [DelphiX] Text in andere 3D-Anwendung
 
Hallo Philipp,

ich hab gesehen, dass du sowas in der Richtung schon mal gemacht hast. Kannst du mir vielleicht ne kleine Unit schreiben, die das kann? Das wäre saugeil.

Gruß,
Knarf

c113plpbr 31. Mai 2004 15:20

Re: [DelphiX] Text in andere 3D-Anwendung
 
Eher ungern, da dann mal wieder nen halbes jahr arbeit beim teufel wären (bestehend aus suchen, suchen, suchen und programmieren) ... ^^ ... außerdem hat sich das mit einer Unit nicht getan, das is wenn dann mindestens eine dll, und funktioniert dann auch nur für dx8 und dx9 ... ich muss mich mal wieder damit beschäftigen, und schauen was ich daraus machen kann ... mir fällt besimmt was ein, wobei ich dann nicht den quellcode rausrücken muss ...
(sei mir bitte nicht beleidigt!)

ciao, Philipp

Knarf 31. Mai 2004 19:55

Re: [DelphiX] Text in andere 3D-Anwendung
 
Da sowas noch weit hinter meinem Horizont liegt, brauch den Quelltext nicht. Mir würde ne dcu oder ne dll schon voll und ganz ausreichen. :P

Gruß,
Knarf


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:01 Uhr.

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