![]() |
GLScene GLLines Color
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: ![]() 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:
EDIT: Dieser Punkt hat sich wohl erledigt. Man muss die UNIT "GLColor" einbinden, dann geht es mit:
GLLines.LineColor := clrBlack;
GLLines.LineColor.AsWinColor := clBlack;
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. |
AW: GLScene GLLines Color
Du musst die Nodes casten. Da
Delphi-Quellcode:
vom Typ
TGLLine.Nodes
Delphi-Quellcode:
ist, sollte das problemlos gehen:
TGLLinesNodes
Delphi-Quellcode:
(GLLines.Nodes[I] as TGLLineNode).Color := ...
oder
Delphi-Quellcode:
TGLLineNode(GLLines.Nodes[I]).Color := ...
|
AW: GLScene GLLines Color
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:
Wenn ich das zweite ".Color" weglassen würde, erhalte ich eine Fehlermeldung:
TGLLinesNode(GLLines.Nodes[1]).Color.Color := clrRed;
(GLLines.Nodes[1] as TGLLinesNode).Color.Color := clrRed; (GLLines.Nodes[1] as TGLLinesNode).Color.AsWinColor := clRed; [DCC Fehler] Unit1.pas(90): E2010 Inkompatible Typen: 'TGLColor' und 'TVector4f' Auch bewirkt so Alpha keine Änderung:
Code:
Eine Zeile darüber habe ich dies stehen und das ist sofort sichtbar:
TGLLinesNode(GLLines.Nodes[1]).Color.Alpha := 0.1;
Code:
Fehlt hier noch irgendwas? Wie setzt man eigentlich diesen Farbverlauf, den man im obigen Link sieht?
GLLines.Nodes[1].X := 3;
|
AW: GLScene GLLines Color
Hast du denn auch
Delphi-Quellcode:
in
loUseNodeColorForLines
Delphi-Quellcode:
eingeschaltet?
GLLine.Options
|
AW: GLScene GLLines Color
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? |
AW: GLScene GLLines Color
Zitat:
|
AW: GLScene GLLines Color
Danke für die Hilfe ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:43 Uhr. |
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