Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 00:22

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mo Mär 27, 2006 08:03 
Offline
DGL Member

Registriert: Fr Apr 15, 2005 10:30
Beiträge: 28
Moin !

Ich bastele gerade wieder an meiner 3D Visualisierung von GPS Daten. Sieht soweit auch schon ganz brauchbar aus:
http://www.logview.info/phpBB2/download.php?id=228 (Screenshot)

Wie man auf dem Screenshot sieht habe ich Text eingefügt, und zwar nach der Anleitung aus dem Wiki. Nach etwas Anpassung rennt das soweit auch ganz gut. Aber ... Ich kann den FontStyle nicht ändern.

Hier die Einrichtung des Fonts:
Code:
  1. procedure CreateLists; // Wird einmal am Anfang aufgerufen
  2. var
  3.   CustomFont: HFont;
  4. begin
  5.   FontLists := glGenLists(256);
  6.   Font := TFont.Create;  // Instanz einer Fontklasse erstellen
  7.   try
  8.     Font.Name := 'Verdana';     // Name
  9.     Font.Size := 60;            // Schriftgröße
  10.     Font.Style := [];           // Styles (fsBold, fsItalic, ...)
  11.    
  12.  
  13.     SelectObject(GetDC(MainForm.Panel1.Handle), Font.Handle);              // Font auf einen Device Context benutzen
  14.     wglUseFontBitmaps (GetDC(MainForm.Panel1.Handle), 0, 255, FontLists);  // Mit selektiertem Font Zeichen erstellen
  15.   finally
  16.     FreeAndNil(Font);  // erstellte Instanz wieder frei geben
  17.   end;
  18. end;


Und so rufe ich das auf:
Zitat:
glcolor3b(110,127,-70); // Aktuelle Farbe für glRasterPos festlegen
glRasterPos3f(x[maxZPos], 1.4, z[maxZPos]); // (sichtbare) Rasterposition eintellen
ShowInfoText('N<->S ' + FormatFloat('0.00', DistanceZ) + ' km');


Wenn ich aber irgendwas von Font..... anpassen möchte (z.B. Style oder Size), dann wirkt sich das nciht aus. Die Schrift ist immer gleich.

Any Hints!?

_________________
Greetz Moelski


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 27, 2006 08:21 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Joahr. Ich weiß was das Problem ist. Mit GetDC erstellst du anhand eines Handles einen DC. Der Name Get ist ein bisschen verwirrend. Man könnte den eindruck bekommen, dass man den DC zurück bekommt. In wirklich wird aber wie erwähnt einer erstellt.

Du musst also nur einmal GetDC aufrufen und das Ergebniss in einer Variable ablegen. Den musst du dann auch bei SelectObject und WglUseFontBitmaps benutzen und dann sollte es gehen. Anschließend solltest du dann Mittels ReleaseDC den DC auch wieder frei geben. Wollen ja nicht, dass da Zeugs übrig bleibt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 27, 2006 08:52 
Offline
DGL Member

Registriert: Fr Apr 15, 2005 10:30
Beiträge: 28
Thx.

Funzt nun !

_________________
Greetz Moelski


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.006s | 14 Queries | GZIP : On ]