Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 3755
- Рейтинг:
- Опубликован:
- 2012.05.04 10:22
- Обновлен:
- 2016.11.22 07:33
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Класс с набором функций для работы с цветом. Функции преобразования цветовых координат и прочие функции.
Преобразование 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.

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

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

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