AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

GLScene GLLines Color

Ein Thema von Maiky · begonnen am 20. Sep 2012 · letzter Beitrag vom 30. Sep 2012
Antwort Antwort
Maiky

Registriert seit: 14. Nov 2006
54 Beiträge
 
#1

GLScene GLLines Color

  Alt 20. Sep 2012, 15:28
Hi.

Ich habe da ein paar Fragen und würde mich freuen wenn mir da jemand weiterhelfen kann.

1. Ich füge mehrere Lines ein und möchte jeder Line eine andere Farbe geben. Wie kann man dies machen? GLLines.LineColor färbt alle Linien, ich möchte aber einzelne andersfarbig haben und ich habe hier auch gesehen das man Farbübergänge wohl irgendwie definieren kann: http://glscene.pbworks.com/w/page/6437668/TGLLines
Weiß jemand dazu was?

Code:
    GLLines := TGLLines(GLDummyCube1.AddNewChild(TGLLines));
    GLLines.NodesAspect := lnaInvisible;
    GLLines.LineWidth := 2;
    GLLines.LineColor.AsWinColor := clBlack;
    GLLines.AddNode(0,0,0);
    GLLines.AddNode(1,0,0);
    GLLines.AddNode(1,1,0);
    GLLines.AddNode(-1,2,0);

2. Wieso geht die erste Zeile nicht aber die darunter? Im Objectinspector steht es doch ebenfalls so drin.
Code:
GLLines.LineColor := clrBlack;
GLLines.LineColor.AsWinColor := clBlack;
EDIT: Dieser Punkt hat sich wohl erledigt. Man muss die UNIT "GLColor" einbinden, dann geht es mit:
Code:
GLLines.LineColor.Color := clrBlack;

3. Wie kann ich die Farbe(+Alpha) einer beliegen Linie im Nachhinein ändern? Die Position kann ich so ändern: GLLines.Nodes[1].X := 3;
Aber Color kennt er nicht, obwohl es auch hier im Objectinspector drin steht.

Danke.

Geändert von Maiky (20. Sep 2012 um 15:41 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#2

AW: GLScene GLLines Color

  Alt 20. Sep 2012, 16:37
Du musst die Nodes casten. Da TGLLine.Nodes vom Typ TGLLinesNodes ist, sollte das problemlos gehen:

(GLLines.Nodes[I] as TGLLineNode).Color := ...

oder

TGLLineNode(GLLines.Nodes[I]).Color := ...
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Maiky

Registriert seit: 14. Nov 2006
54 Beiträge
 
#3

AW: GLScene GLLines Color

  Alt 20. Sep 2012, 16:47
Danke, aber so wirklich zum laufen bekomme ich das nicht. Ich erhalte zwar keinen Fehler, aber auch keine Farbänderung. Folgendes habe ich probiert:
Code:
TGLLinesNode(GLLines.Nodes[1]).Color.Color := clrRed;
(GLLines.Nodes[1] as TGLLinesNode).Color.Color := clrRed;
(GLLines.Nodes[1] as TGLLinesNode).Color.AsWinColor := clRed;
Wenn ich das zweite ".Color" weglassen würde, erhalte ich eine Fehlermeldung:

[DCC Fehler] Unit1.pas(90): E2010 Inkompatible Typen: 'TGLColor' und 'TVector4f'

Auch bewirkt so Alpha keine Änderung:
Code:
TGLLinesNode(GLLines.Nodes[1]).Color.Alpha := 0.1;
Eine Zeile darüber habe ich dies stehen und das ist sofort sichtbar:
Code:
GLLines.Nodes[1].X := 3;
Fehlt hier noch irgendwas? Wie setzt man eigentlich diesen Farbverlauf, den man im obigen Link sieht?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#4

AW: GLScene GLLines Color

  Alt 20. Sep 2012, 17:26
Hast du denn auch loUseNodeColorForLines in GLLine.Options eingeschaltet?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Maiky

Registriert seit: 14. Nov 2006
54 Beiträge
 
#5

AW: GLScene GLLines Color

  Alt 21. Sep 2012, 15:07
Ah, super. Ja so geht das nun.

Jetzt habe ich auch den Farbverlauf. Gibt es auch die Möglichkeit einzelne Linien mit einer fixen Farbe zu färben, ohne einen Farbverlauf?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#6

AW: GLScene GLLines Color

  Alt 22. Sep 2012, 18:44
Ah, super. Ja so geht das nun.

Jetzt habe ich auch den Farbverlauf. Gibt es auch die Möglichkeit einzelne Linien mit einer fixen Farbe zu färben, ohne einen Farbverlauf?
Ohne das ich das jetzt ausprobieren kann: Da die Farben nun ja den einzelnen Nodes und nicht den Linien zugeordnet werden, könnte das gehen, wenn du bei einem Farbwechsel einfach zwei Nodes auf die gleiche Position setzt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Maiky

Registriert seit: 14. Nov 2006
54 Beiträge
 
#7

AW: GLScene GLLines Color

  Alt 30. Sep 2012, 15:56
Danke für die Hilfe
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:28 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