Русский

Справочник MQL4 Общие функции ResourceCreate

ResourceCreate

Создает ресурс изображения на основе набора данных. Существует два варианта функции:
Создание ресурса на основе файла

bool  ResourceCreate(
   const string      resource_name,       // имя ресурса
   const string      path                 // относительный путь к файлу
   );

Динамическое создание ресурса на основе массива пикселей

bool  ResourceCreate(
   const string      resource_name,       // имя ресурса
   const uint&       data[],              // набор данных в виде массива 
   uint              img_width,           // ширина создаваемой картинки-ресурса
   uint              img_height,          // высота создаваемой картинки-ресурса
   uint              data_xoffset,        // смещение левого верхнего угла создаваемой картинки по горизонтали вправо
   uint              data_yoffset,        // смещение левого верхнего угла создаваемой картинки по вертикали вниз
   uint              data_width,          // общая ширина изображения на основе набора данных
   ENUM_COLOR_FORMAT color_format         // способ обработки цвета
   );

Параметры

resource_name

[in]  Имя ресурса.

path

[in]  Относительный путь к файлу, содержащему данные для ресурса. Если путь начинается с обратной косой черты "\" (пишется "\\"), то файл ищется относительно папки каталог_данных_терминала\MQL4\. Если обратной косой черты нет, то ресурс ищется относительно расположения EX4-файла, из которого вызывается функция.

data[][]

[in]  Одномерный или двумерный массив для создания полного изображения.

img_width

[in]  Ширина прямоугольной области изображения в пикселях для помещения в ресурс в виде картинки. Не может быть больше значения data_width.

img_height

[in]  Высота прямоугольной области изображения в пикселях для помещения в ресурс  в виде картинки.

data_xoffset

[in]  Смещение в пикселях прямоугольной области изображения по горизонтали вправо.

data_yoffset

[in]  Смещение в пикселях прямоугольной области изображения по вертикали вниз.

data_width

[in]  Требуется только для одномерных массивов и означает полную ширину создаваемого изображения из набора данных. Если data_width=0, то подразумевается равным img_width. Для двумерных массивов данный параметр игнорируется и принимается равным второй размерности массива data[].

color_format

[in]  Способ обработки цвета из перечисления ENUM_COLOR_FORMAT.

Возвращаемое значение

true – в случае успеха, иначе false. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError(). Возможные ошибки:

  • 4015 – ERR_RESOURCE_NAME_DUPLICATED (совпадение имен динамического и статического ресурсов),
  • 4016 – ERR_RESOURCE_NOT_FOUND (ресурс не найден),
  • 4017 – ERR_RESOURCE_UNSUPPORTED_TYPE (тип ресурса не поддерживается),
  • 4018 – ERR_RESOURCE_NAME_IS_TOO_LONG (слишком длинное имя ресурса).

Примечание

Если второй вариант функции вызывается для создания одного и того же ресурса с разными параметрами ширины, высоты и сдвига, то новый ресурс не пересоздается, а просто обновляется существующий.

Первый вариант функции позволяет загружать из файлов картинки и звуки, второй вариант предназначен только для динамического создания изображений.

Картинки должны быть в формате BMP с глубиной цвета 24 или 32 бита, звуки могут быть только в формате WAV. Размер ресурса не должен превышать 16 Mb.
 

ENUM_COLOR_FORMAT

Идентификатор

Описание

COLOR_FORMAT_XRGB_NOALPHA

Компонента альфа-канала игнорируется

COLOR_FORMAT_ARGB_RAW

Компоненты цвета не обрабатываются терминалом (должны быть корректно заданы пользователем)  

COLOR_FORMAT_ARGB_NORMALIZE

Компоненты цвета обрабатываются терминалом  

Смотри также

Ресурсы, ObjectCreate(), ObjectSetString(), OBJPROP_BMPFILE