Смотри, как бесплатно скачать роботов
Ищи нас в Twitter!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Библиотеки

IncColors - библиотека для MetaTrader 5

Просмотров:
3617
Рейтинг:
(42)
Опубликован:
2012.05.04 10:22
Обновлен:
2016.11.22 07:33
\MQL5\Include\
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Класс с набором функций для работы с цветом. Функции преобразования цветовых координат и прочие функции.

Преобразование RGB в HSV

void RGBtoHSV(double aR,double aG,double aB,double & oH,double & oS,double & oV)

Функции с http://www.easyrgb.com/index.php?X=MATH. У всех функций первые три параметра - аргументы, следующие три параметра - результаты преобразования, возвращаются по ссылке.

Преобразование RGB в XYZ

void RGBtoXYZ(double aR,double aG,double aB,double & oX,double & oY,double & oZ)
Преобразование XYZ в RGB
void XYZtoRGB(double aX,double aY,double aZ,double & oR,double & oG,double & oB)
Преобразование XYZ в Yxy
void XYZtoYxy(double aX,double aY,double aZ,double & oY,double & ox,double & oy)

Преобразование Yxy в XYZ

void XYZtoYxy(double aX,double aY,double aZ,double & oY,double & ox,double & oy)
Преобразование XYZ в HunterLab
void XYZtoHunterLab(double aX,double aY,double aZ,double & oL,double & oa,double & ob)
Преобразование HunterLab в XYZ
void HunterLabToXYZ(double aL,double aa,double ab,double & oX,double & oY,double & oZ)
Преобразование XYZ в CIELab
void XYZtoCIELab(double aX,double aY,double aZ,double & oCIEL,double & oCIEa,double & oCIEb)
Преобразование CIELab в ToXYZ
void CIELabToXYZ(double aCIEL,double aCIEa,double aCIEb,double & oX,double & oY,double & oZ)
Преобразование CIELab в CIELCH
void CIELabToCIELCH(double aCIEL,double aCIEa,double aCIEb,double & oCIEL,double & oCIEC,double & oCIEH)

Преобразование CIELCH в CIELab

void CIELCHtoCIELab(double aCIEL,double aCIEC,double aCIEH,double & oCIEL,double & oCIEa,double & oCIEb)

Преобразование XYZ в CIELuv

void XYZtoCIELuv(double aX,double aY,double aZ,double & oCIEL,double & oCIEu,double & oCIEv)
Преобразование CIELuv в XYZ
void CIELuvToXYZ(double aCIEL,double aCIEu,double aCIEv,double & oX,double & oY,double & oZ)
Преобразование RGB в HSL
void RGBtoHSL(double aR,double aG,double aB,double & oH,double & oS,double & oL)
Преобразование HSL в RGB
void HSLtoRGB(double aH,double aS,double aL,double & oR,double & oG,double & oB)

Преобразование RGB в HSV

void RGBtoHSV(double aR,double aG,double aB,double & oH,double & oS,double & oV) 
Преобразование HSV в RGB
void HSVtoRGB(double aH,double aS,double aV,double & oR,double & oG,double & oB)
Преобразование RGB в CMY
void RGBtoCMY(double aR,double aG,double aB,double & oC,double & oM,double & oY)
Преобразование CMY в RGB
void CMYtoRGB(double aC,double aM,double aY,double & oR,double & oG,double & oB)
Преобразование CMY в CMYK
void CMYtoCMYK(double aC,double aM,double aY,double & oC,double & oM,double & oY,double & oK)
Преобразование CMYK в CMY
void CMYKtoCMY(double aC,double aM,double aY,double aK,double & oC,double & oM,double & oY)


Другие функции

Получение значений компонент RGB

Первый параметр - аргумент, следующие три - возвращаемые значения.

void ColorToRGB(color aColor,double & aR,double & aG,double & aB)
Получение значения компоненты R
double GetR(color aColor)
Получение значения компоненты G
double GetG(color aColor)
Получение значения компоненты B
double GetB(color aColor)

Преобразование RGB в color

color RGBToColor(double aR,double aG,double aB)
Получение значени промежуточного цвета между двух цветов (микширование двух цветов)
color MixColors(color aCol1,color aCol2,double aK) // aK - от 0 до 1
Получение массива заданного размера с цветовым градиентом
void Gradient( color & aColors[], // Список цветов
color & aOut[],                  // Возвращаемый массив
int aOutCount,                     // Установка размера возвращаемого массива
bool aCycle=false                  // Замкнутый цикл. Возвращаемый массив заканчивается таким же цветом, с которого начинается
)
Еще один вариант преобразования RGB в XYZ и соответствующее ему преобразование XYZ в RGB
void RGBtoXYZsimple(double aR,double aG,double aB,double & oX,double & oY,double & oZ)
void XYZtoRGBsimple(double aX,double aY,double aZ,double & oR,double & oG,double & oB)
Негативный цвет
color Negative(color aColor)

Поиск наиболее похожего цвета в наборе стандартных цветов терминала  

Первый параметр - аргумент, второй - возврат индекса цвета (так, как они расположены в окне выбора цвета), функция возвращает значение цвета. 
color StandardColor(color aColor,int & aIndex)
Преобразование в серый цвет
double RGBtoGray(double aR,double aG,double aB)
Простое преобразование в серый цвет
double RGBtoGraySimple(double aR,double aG,double aB)
Индикатор направления Multi-Williams Percent Range Индикатор направления Multi-Williams Percent Range

Индикатор направления тренда Multi-Williams Percent Range.

MA mass cloud MA mass cloud

Индикатор рисует облака, сформированные множеством скользящих средних с различными периодами.

IncGUI_ColorInput IncGUI_ColorInput

Графический элемент управления для ввода цвета.

Size Highs And Lows Size Highs And Lows

Индикатор показывает размер максимумов и минимумов, а также максимальные их значения за указанный период.