Eine wunderbare Zusammenstellung von Funktionen für die Arbeit mit Farbe! Vielen Dank dafür.
Aber, um ganz glücklich zu sein, fehlt mir die Funktion, eine Zahl, die in einem bestimmten Intervall liegt, in eine Farbe umzuwandeln (und die Farbe kann mit Hilfe Ihrer Funktionen beliebig umgewandelt werden).
Ich verwende eine solche primitive Konstruktion:
//+------------------------------------------------------------------+ //|JQS RainbowColour v1.0.0| //|Copyright © 2010, JQS alias Joo. | //| http://www.mql4.com/ru/users/joo | //| https://www.mql5.com/de/users/joo | //+------------------------------------------------------------------+ color RainbowColor(double BrushIn,double min,double max) { string R,G,B; int temp; double Brush=ScaleColor(BrushIn,min,max,0.0,100.0); //Wenn weniger als die Untergrenze if (Brush<0.0) { R="255"; G="0"; B="0"; return(StringToColor("C'"+R+","+G+","+B+"'")); } //Wenn größer als die Obergrenze if (Brush>100.0) { R="255"; G="0"; B="255"; return(StringToColor("C'"+R+","+G+","+B+"'")); } //Von rot nach gelb 255.0.0 -> 255.255.255.0 if (Brush>=0.0 && Brush<20.0) { R="255"; temp=(int)MathRound(ScaleColor(Brush,0.0,20.0,0.0,255.0)); G=(string)temp; B="0"; return(StringToColor("C'"+R+","+G+","+B+"'")); } //-------------------------------------------- //Von gelb nach grün 255.255.0 -> 0.255.0 if (Brush>=20.0 && Brush<40.0) { temp=(int)(255.0-MathRound(ScaleColor(Brush-20.0,0.0,20.0,0.0,255.0))); R=(string)temp; G="255"; B="0"; return(StringToColor("C'"+R+","+G+","+B+"'")); } //-------------------------------------------- //Grün nach Blau 0.255.0 -> 0.255.255.255 if (Brush>=40.0 && Brush<60.0) { R="0"; G="255"; temp=(int)(MathRound(ScaleColor(Brush-40.0,0.0,20.0,0.0,255.0))); B=(string)temp; return(StringToColor("C'"+R+","+G+","+B+"'")); } //-------------------------------------------- //Von Cyan nach Blau 0.255.255 -> 0.0.255 if (Brush>=60.0 && Brush<80.0) { R="0"; temp=(int)(255.0-MathRound(ScaleColor(Brush-60.0,0.0,20.0,0.0,255.0))); G=(string)temp; B="255"; return(StringToColor("C'"+R+","+G+","+B+"'")); } //-------------------------------------------- //Von blau nach violett 0.0.255 -> 255.0.255 if (Brush>=80.0 && Brush<=100.0) { temp=(int)(MathRound(ScaleColor(Brush-80.0,0.0,20.0,0.0,255.0))); R=(string)temp; G="0"; B="255"; return(StringToColor("C'"+R+","+G+","+B+"'")); } return(StringToColor("C'"+(string)255+","+(string)255+","+(string)255+"'")); } //+------------------------------------------------------------------+ double ScaleColor(double In,double InMIN,double InMAX,double OutMIN,double OutMAX) { double Out=((In-InMIN)*(OutMAX-OutMIN)/(InMAX-InMIN))+OutMIN; return(Out); } //+------------------------------------------------------------------+
Die Funktion gibt die Farbe gemäß der Regenbogenfarbskala zurück.
Könnten Sie diese Funktion in die Bibliothek aufnehmen? - und sie im Hinblick auf die Geschwindigkeit verbessern.
Eine wunderbare Zusammenstellung von Funktionen für die Arbeit mit Farbe! Vielen Dank dafür.
Aber, um ganz glücklich zu sein, fehlt mir die Funktion, eine Zahl, die in einem bestimmten Intervall liegt, in eine Farbe umzuwandeln (und Farbe kann mit Hilfe Ihrer Funktionen beliebig umgewandelt werden).
Ich verwende eine solche primitive Konstruktion:
Die Funktion gibt die Farbe gemäß der Regenbogenfarbskala zurück.
Könnten Sie diese Funktion in die Bibliothek aufnehmen? - und sie im Hinblick auf die Geschwindigkeit verbessern.
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
IncColors:
Autor: Dmitry Fedoseev