MT4中的Alpha 32位(位图对象)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MT4中的Alpha 32位(位图对象)相关的知识,希望对你有一定的参考价值。
我正在研究Bitmap对象,我怎么可以使用Alpha 32bit文件的Bitmap Objects,但什么都没发现。我已经在几个论坛上问过这个Bitmap Alpha 32bit文件。
我的目的是如何使用我的alpha图像?我希望下面的屏幕截图可以帮助我澄清我的问题。如何在Chart中使用我的alpha图像?
下面的代码是我试图使用Alpha通道的Bitmap对象,但我不能。
#property strict
string filename = "Imagesalpha.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;
}
不知道告诉你什么,也许你可以在wingdings部分找到很多不同的箭头,以便不使用任何自定义图片。这就是为什么我从未想过你的问题,因为你在其他论坛上没有回复 - 可能其他开发者也不关心这样的选择。
实施摘要:
构建1065的MQL4
不支持任何特定的图形处理工具,但允许转换特定格式的位图文件,以便稍后通过所谓的RESOURCE使用。
0.支持其他.BMP
文件格式
1.支持{ 24 | 32 }
-bits的颜色深度
2.没有RGB颜色平面操作可用,因此所有准备都要在MQL4
外部执行(无论是通过可编程工具,如python,ImageMagick中流行的OpenCV或PIL模块,还是通过位图操作编辑器手动执行)
3.除了文件接口之外别无其他,所以位图数组内容必须预先格式化并相对于terminal_data_folderMQL4
物理存储为磁盘文件,以便通过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生态系统)。
Alpha通道位图必须设置为#resource或不显示。这在MQL4文档中找不到,但它是我工作的唯一方式。
示例 - 如果您的图像位于/ TERMINAL / MQL4 / Images / ... ...然后您将使用以下内容:#resource "Imagesalpha.bmp"
然后您可以调用#define filename "::Imagesalpha.bmp"
然后使用“filename”作为路径将图像添加到图表中。
以上是关于MT4中的Alpha 32位(位图对象)的主要内容,如果未能解决你的问题,请参考以下文章