逻辑运算主要由 CPU 完成;而图像的最终渲染输出依靠显卡。所有屏幕图像,都由一个个像素颜色点构成;每一个像素依靠红、绿、蓝三原色不同的亮度组合呈现不同色彩。color颜色类型底层就是一个 4 字节整数,内部打包存储蓝、绿、红三个通道的亮度数值。程序把这一组色彩数值传递出去,显卡拿到数据之后,控制屏幕像素发光,呈现对应的色彩;千千万万个颜色点组合在一起,就形成完整的画面。当然,这只是简化后的核心原理。
对比图像,我们会发现在 MQL5 环境里,声音的处理能力要弱很多。MQL5 并不能像 AI 语音合成那样,在代码内部运算生成全新的音频波形。它只能调用已经制作完成的音频文件:你设定好交易条件并被触发之后,系统就播放音频,发出 “叮咚” 的报警。
表达方法是用三个数字来表示三种主要颜色:红、绿、蓝的开度。 数据以 C 开头,用单引号括住。数字的值在 0 ~ 255 之间按比例选取。需要稍微注意的是,这不是画画的时候调颜色,这数字并不代表三种原色占比,而是各自的亮度,0是表示该原色彻底关闭,255代表其亮度开到最大。
比如:
color red = C'255,0,0'; // R=255红,G=0绿,B=0蓝 →红色
color green = C'0,255,0'; // R=0,G=255,B=0 →绿色
color blue = C'0,0,255'; // R=0,G=0,B=255 →蓝色
color black = C'0,0,0'; // R=0,G=0,B=0 →黑色
color white = C'255,255,255';// 全部最大亮度 →白色
前面的“color”是颜色数据类型定义,意思是创建一个“red"颜色型的变量,后面带括号的(color)就是强制类型转换,把整数255,这个十进制的数字,解读规则切换成 color 类型,得到一个颜色值。
也可以写成:
color red =(color)0x000000FF; //红色
这个也代表红色,
还有:
color green = (color)0x0000FF00;//绿色
color blue = (color)0x00FF0000;//蓝色
color white = (color)0x00FFFFFF;//白色
color black = (color)0x00000000;//黑色
color purple = (color)0x00FF00FF;//紫色,全蓝色加全红色
color yellow = (color)0x0000FFFF;//黄色,全绿色加全红色
color gray = (color)0x00808080;//灰色,蓝、绿、红各开一半