MT4中的Alpha 32位(位图对象)

问题描述 投票:0回答:3

我正在研究Bitmap对象,我怎么可以使用Alpha 32bit文件的Bitmap Objects,但什么都没发现。我已经在几个论坛上问过这个Bitmap Alpha 32bit文件。

我的目的是如何使用我的alpha图像?我希望下面的屏幕截图可以帮助我澄清我的问题。如何在Chart中使用我的alpha图像?

下面的代码是我试图使用Alpha通道的Bitmap对象,但我不能。

#property strict

string filename = "\\Images\\alpha.bmp";

//---
int OnInit()
{
    ObjectCreate( 0, "bitmap alpha", OBJ_BITMAP, 0, TimeCurrent(), Ask );
    ObjectSetString( 0, "bitmap alpha", OBJPROP_BMPFILE, filename );
    //---
    return(0);
}

void OnDeinit(const int reason)
{
    ObjectDelete( "bitmap alpha" );
    //---
    return;
}

enter image description here

image bitmap alpha mql4 mt4
3个回答
2
投票

不知道告诉你什么,也许你可以在wingdings部分找到很多不同的箭头,以便不使用任何自定义图片。这就是为什么我从未想过你的问题,因为你在其他论坛上没有回复 - 可能其他开发者也不关心这样的选择。


1
投票

实施摘要:

构建1065的MQL4不支持任何特定的图形处理工具,但允许转换特定格式的位图文件,以便稍后通过所谓的RESOURCE使用。

0.支持其他.BMP文件格式 1.支持{ 24 | 32 }-bits的颜色深度 2.没有RGB颜色平面操作可用,因此所有准备都要在MQL4外部执行(无论是通过可编程工具,如python,ImageMagick中流行的OpenCV或PIL模块,还是通过位图操作编辑器手动执行) 3.除了文件接口之外别无其他,所以位图数组内容必须预先格式化并相对于terminal_data_folder\MQL4\物理存储为磁盘文件,以便通过ResourceReadImage()加载 4.一些简单的像素阵列裁剪以ResourceCreate()的扩展格式提供,作为最初导入的RESOURCE的更新 5.如果Alpha通道应该在[4]下处理,则可以使用{ COLOR_FORMAT_ARGB_RAW | COLOR_FORMAT_ARGB_NORMALIZE }-Color处理方法的选项 6.但是可能会出现错误{ ERR_RESOURCE_UNSUPPORTED_TYPE | ... }ResetLastError(); ... GetLastError();应该与进一步的调试细节一起使用。 7.在[6]的无错误进展之后,可以尝试部署这样准备好的RESOURCE以用于{ OBJ_BITMAP_LABEL | OBJ_BITMAP }图形对象。

鉴于以前的一些奇怪的色彩管理工件的经验,其中一个在另一个上方覆盖对象,使用任意设置的HSV编码颜色,GUI结果不需要容易地产生预期的和/或令人愉悦的视觉构图(在我的团队使用的商业项目中)一个外部的,远程的GUI-Display和MMI-Interactions Facility(独立的远程交易终端,具有多窗口,完全独立,可组合的MVC架构),完全可编程控制,无论Linux /中的MT4 / MQL4设施如何Windows生态系统)。 enter image description here


1
投票

Alpha通道位图必须设置为#resource或不显示。这在MQL4文档中找不到,但它是我工作的唯一方式。

示例 - 如果您的图像位于/ TERMINAL / MQL4 / Images / ... ...然后您将使用以下内容:#resource "\\Images\\alpha.bmp"然后您可以调用#define filename "::Images\\alpha.bmp"

然后使用“filename”作为路径将图像添加到图表中。

© www.soinside.com 2019 - 2024. All rights reserved.