← К каталогу
Исходный код · ID 2359

canvas.mqh

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Canvas.mqh — это библиотека языка MQL5 для работы с динамическими растровыми ресурсами на графиках торгового терминала MetaTrader. Она предоставляет класс CCanvas, позволяющий создавать bitmap-объекты и bitmap-метки на ценовых графиках, привязанные к динамическим ресурсам с пиксельными данными.

Библиотека поддерживает рисование графических примитивов (линии, прямоугольники, круги, эллипсы, дуги, многоугольники и треугольники) как обычных, так и с сглаживанием. Доступны операции с пикселями: установка, считывание и заливка замкнутой области по точке. Также предусмотрены функции для работы со шрифтом и вывода текста на холсте.

Класс CCanvas позволяет создавать ресурсы в различных цветовых форматах (XRGB, ARGB), изменять размер, обновлять отображение на графике, загружать изображения из BMP-файлов и управлять прозрачностью. Класс BitmapHeader служит вспомогательным средством для описания заголовка растрового изображения.

Состав библиотеки

Классов: 2 · методов: 58 · конструкторов: 1 · деструкторов: 1 · отдельных функций: 0

Классы
Класс class CCanvas

Класс для работы с динамическими растровыми ресурсами на графиках торгового терминала

Класс class BitmapHeader

Класс-заголовок для растрового изображения BMP

Методы и конструкторы
Конструктор · CCanvas CCanvas(void)

Конструктор класса CCanvas

Деструктор · CCanvas ~CCanvas(void)

Деструктор класса CCanvas

Метод · CCanvas bool Create(const string name,const int width,const int height,ENUM_COLOR_FORMAT clrfmt)

Создание динамического растрового ресурса с заданными размерами и форматом цвета

Метод · CCanvas bool CreateBitmap(const string name,const datetime time,const double price, const int width,const int height,ENUM_COLOR_FORMAT clrfmt)

Создание bitmap-объекта на графике с привязкой к динамическому ресурсу по времени и цене

Метод · CCanvas bool CreateBitmap(const long chart_id,const int subwin,const string name, const datetime time,const double price,const int width,const int height, ENUM_COLOR_FORMAT clrfmt)

Создание bitmap-объекта на указанном графике и подокне с привязкой к ресурсу

Метод · CCanvas bool CreateBitmapLabel(const string name,const int x,const int y, const int width,const int height,ENUM_COLOR_FORMAT clrfmt)

Создание bitmap-метки на графике с привязкой к ресурсу по координатам

Метод · CCanvas bool CreateBitmapLabel(const long chart_id,const int subwin,const string name, const int x,const int y,const int width,const int height, ENUM_COLOR_FORMAT clrfmt)

Создание bitmap-метки на указанном графике и подокне по координатам

Метод · CCanvas void Destroy(void)

Удаление объекта с графика и освобождение динамического ресурса

Метод · CCanvas string ChartObjectName(void)

Получение имени объекта на графике

Метод · CCanvas string ResourceName(void)

Получение имени динамического ресурса

Метод · CCanvas int Width(void)

Получение ширины холста

Метод · CCanvas int Height(void)

Получение высоты холста

Метод · CCanvas void Update(const bool redraw)

Обновление отображения объекта на графике

Метод · CCanvas bool Resize(const int width,const int height)

Изменение размера холста

Метод · CCanvas void Erase(const uint clr)

Заливка всех пикселей холста указанным цветом

Метод · CCanvas uint PixelGet(const int x,const int y)

Получение цвета пикселя по координатам

Метод · CCanvas void PixelSet(const int x,const int y,const uint clr)

Установка цвета пикселя по координатам

Метод · CCanvas void LineVertical(int x,int y1,int y2,const uint clr)

Рисование вертикальной линии

Метод · CCanvas void LineHorizontal(int x1,int x2,int y,const uint clr)

Рисование горизонтальной линии

Метод · CCanvas void Line(int x1,int y1,int x2,int y2,const uint clr)

Рисование линии между двумя точками

Метод · CCanvas void Polyline(int &x[],int &y[],const uint clr)

Рисование полилинии из массива точек

Метод · CCanvas void Polygon(int &x[],int &y[],const uint clr)

Рисование замкнутого многоугольника из массива точек

Метод · CCanvas void Rectangle(int x1,int y1,int x2,int y2,const uint clr)

Рисование прямоугольника

Метод · CCanvas void Triangle(int x1,int y1,int x2,int y2,int x3,int y3,const uint clr)

Рисование треугольника

Метод · CCanvas void Circle(int x,int y,int r,const uint clr)

Рисование окружности

Метод · CCanvas void Ellipse(int x1,int y1,int x2,int y2,const uint clr)

Рисование эллипса

Метод · CCanvas void Arc(int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4,const uint clr)

Рисование дуги эллипса по четырём опорным точкам

Метод · CCanvas void Arc(int x,int y,int rx,int ry,double fi3,double fi4,const uint clr)

Рисование дуги эллипса по радиусам и углам

Метод · CCanvas void Arc(int x,int y,int rx,int ry,double fi3,double fi4,int &x3,int &y3,int &x4,int &y4,const uint clr)

Рисование дуги эллипса с определением точек пересечения лучей

Метод · CCanvas void Pie(int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4,const uint clr,const uint fill_clr)

Рисование сектора эллипса по четырём опорным точкам

Метод · CCanvas void Pie(int x,int y,int rx,int ry,double fi3,double fi4,const uint clr,const uint fill_clr)

Рисование сектора эллипса по радиусам и углам

Метод · CCanvas void FillRectangle(int x1,int y1,int x2,int y2,const uint clr)

Рисование заполненного прямоугольника

Метод · CCanvas void FillTriangle(int x1,int y1,int x2,int y2,int x3,int y3,const uint clr)

Рисование заполненного треугольника

Метод · CCanvas void FillPolygon(int &x[],int &y[],const uint clr)

Рисование заполненного многоугольника

Метод · CCanvas void FillCircle(int x,int y,int r,const uint clr)

Рисование заполненной окружности

Метод · CCanvas void FillEllipse(int x1,int y1,int x2,int y2,const uint clr)

Рисование заполненного эллипса

Метод · CCanvas void Fill(int x,int y,const uint clr)

Заливка замкнутой области цветом по точке

Метод · CCanvas void PixelSetAA(const double x,const double y,const uint clr)

Установка пикселя с сглаживанием

Метод · CCanvas void LineAA(const int x1,const int y1,const int x2,const int y2,const uint clr,const uint style)

Рисование линии с сглаживанием и стилем

Метод · CCanvas void PolylineAA(int &x[],int &y[],const uint clr,const uint style)

Рисование полилинии с сглаживанием и стилем

Метод · CCanvas void PolygonAA(int &x[],int &y[],const uint clr,const uint style)

Рисование многоугольника с сглаживанием и стилем

Метод · CCanvas void TriangleAA(const int x1,const int y1,const int x2,const int y2,const int x3,const int y3, const uint clr,const uint style)

Рисование треугольника с сглаживанием и стилем

Метод · CCanvas void CircleAA(const int x,const int y,const double r,const uint clr)

Рисование окружности с сглаживанием

Метод · CCanvas bool FontSet(const string name,const int size,const uint flags,const uint angle)

Установка шрифта с заданными параметрами

Метод · CCanvas bool FontNameSet(string name)

Установка имени шрифта

Метод · CCanvas bool FontSizeSet(int size)

Установка размера шрифта

Метод · CCanvas bool FontFlagsSet(uint flags)

Установка флагов шрифта

Метод · CCanvas bool FontAngleSet(uint angle)

Установка угла наклона текста

Метод · CCanvas void FontGet(string &name,int &size,uint &flags,uint &angle)

Получение параметров текущего шрифта

Метод · CCanvas string FontNameGet(void)

Получение имени текущего шрифта

Метод · CCanvas int FontSizeGet(void)

Получение размера текущего шрифта

Метод · CCanvas uint FontFlagsGet(void)

Получение флагов текущего шрифта

Метод · CCanvas uint FontAngleGet(void)

Получение угла наклона текущего текста

Метод · CCanvas void TextOut(int x,int y,string text,const uint clr,uint alignment)

Вывод текста на холсте

Метод · CCanvas int TextWidth(const string text)

Получение ширины текста

Метод · CCanvas int TextHeight(const string text)

Получение высоты текста

Метод · CCanvas void TextSize(const string text,int &width,int &height)

Получение размеров текста (ширина и высота)

Метод · CCanvas uint GetDefaultColor(const int i)

Получение стандартного цвета по индексу

Метод · CCanvas void TransparentLevelSet(const uchar value)

Установка уровня прозрачности пикселей

Метод · CCanvas bool LoadFromFile(const string filename)

Загрузка растрового изображения из файла

Получить полный код

Поиск по коду файла

********

Показано первые 50% кода (символов: 138121)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
13 812,10₽ ≈ $168.77