Merveilleux ensemble de fonctionnalités pour travailler avec la couleur ! Je vous remercie.
Mais, pour mon plus grand bonheur, il me manque la fonction de conversion en couleur d'un nombre situé dans un intervalle donné (et la couleur peut être convertie comme vous le souhaitez à l'aide de vos fonctions).
J'utilise une construction primitive de ce type :
//+------------------------------------------------------------------+ //|JQS RainbowColour v1.0.0| //|Copyright © 2010, JQS aka Joo. | //| http://www.mql4.com/ru/users/joo | //| https://www.mql5.com/fr/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); //Si inférieur à la limite inférieure if (Brush<0.0) { R="255"; G="0"; B="0"; return(StringToColor("C'"+R+","+G+","+B+"'")); } //Si supérieur à la limite supérieure if (Brush>100.0) { R="255"; G="0"; B="255"; return(StringToColor("C'"+R+","+G+","+B+"'")); } /De rouge à jaune 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+"'")); } //-------------------------------------------- /De jaune à vert 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+"'")); } //-------------------------------------------- //De vert à bleu 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+"'")); } //-------------------------------------------- /De cyan à bleu 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+"'")); } //-------------------------------------------- /De bleu à violet 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); } //+------------------------------------------------------------------+
La fonction renvoie la couleur selon l'échelle des couleurs de l'arc-en-ciel.
Pourriez-vous ajouter cette fonction à la bibliothèque ? - et l'améliorer en termes de vitesse.
Merveilleux ensemble de fonctionnalités pour travailler avec la couleur ! Je vous remercie.
Mais, pour mon plus grand bonheur, il me manque la fonction de conversion en couleur d'un nombre situé dans un intervalle donné (et la couleur peut être convertie comme vous le souhaitez à l'aide de vos fonctions).
J'utilise une construction primitive de ce type :
La fonction renvoie la couleur selon l'échelle des couleurs de l'arc-en-ciel.
Pourriez-vous ajouter cette fonction à la bibliothèque ? - et l'améliorer en termes de vitesse.
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
IncColors:
Une classe avec un ensemble de fonctions pour travailler avec la couleur. Fonctions de conversion des coordonnées de couleur et autres fonctions.
Author: Dmitry Fedoseev