ResourceCreate

データセットに基づいて画像リソースを作成します。

関数のバリアントは2つあります。

ResourceCreate

関数書式(ファイルに基づいたリソース作成)

bool  ResourceCreate(
   const string      resource_name,       // リソース名
   const string      path                 // ファイルへの相対パス
   );

関数書式(ピクセル配列に基づいたリソース作成)

int  ArrayInitialize(
   short    array[],     // 初期化する配列
   short    value        // 設定する初期値
   );

関数書式(int型)

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         // 色処理メソッド
   );

  • 引数
引数名初期値I/O詳細
resource_name-INリソース名
path - IN リソースデータを含むファイルへの相対パス。
パスが"\"(文字列定数では"\\")で始まっている場合、"ターミナルデータフォルダ\MQL4\"からの相対パス。
それ以外の場合は、.ex4プログラムフォルダからの相対パス。
data[] - IN 画像を作成する為の1次元配列または2次元配列。
img_width - IN 画像領域の幅(ピクセル単位)。
data_widthより大きな値は設定出来ません。
img_height - IN画像領域の高さ(ピクセル単位)。
data_xoffset - IN 画像左上隅の水平オフセット(右方向へのオフセット)
data_yoffset - IN 画像左上隅の垂直オフセット(下方向へのオフセット)
data_width - IN データセット配列が1次元配列の時のみ(data[])必要。
これはデータセットからの画像の全幅を表します。
data_widthに0が渡された場合、それはimg_widthと等しいと仮定されます。

2次元配列の場合、引数の値は無視されデータセット配列(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)
リソース名が長すぎます

  • その他

2つ目のバリアントの関数を呼び出して同じ名前のリソースを作成した場合、
新しいリソースは作成せず既存のリソースを更新します。

1つ目のバリアントの関数は、ファイルから画像やサウンドデータをアップロードする為に使用され、
2つ目のバリアントの関数は、動的に画像を作成する為に使用されます。

画像は24bit/32bit色深度を持つ.bmp形式でなければなりません。
サウンドデータは.wav形式のみ使用できます。

リソースサイズは16MBを超えてはなりません。

ENUM_COLOR_FORMAT

ID詳細
COLOR_FORMAT_XRGB_NOALPHAアルファチャンネルは無視されます
COLOR_FORMAT_ARGB_RAW色成分はターミナルで処理しない
(ユーザーによって正確に設定しなければならない)
COLOR_FORMAT_ARGB_NORMALIZE色成分はターミナルによって処理される

Twitterでフォローしよう

おすすめの記事