文章: 使用 CCanvas 类绘制刻度表盘

 

新文章 使用 CCanvas 类绘制刻度表盘已发布:

我们可以在汽车和飞机, 在工业产品以及在生活中随处发现刻度表盘。它们被用在所有需要对数值控制行为进行快速响应的领域。这篇文章描述用于 MetaTrader 5 的刻度表盘程序库。

这一切的开始, 是当我通过 CCanvas 类首次认清自我。当使用它进行实践时, 我偶然间想到利用它绘制一个指示器表盘。我的第一个表盘计相当粗糙, 但最终它们都补充了新的元素, 变得赏心悦目。结果就是, 我现在拥有了一个小型程序库, 可用一种简单易行的方式为一款指标或 EA 加入刻度表盘。在此文中, 我们将兼顾表盘的结构, 熟悉绘制和设置视觉外观的必要函数, 并评估资源强度。

1. 坐标和锚点

表盘在图表上的定位有两种类型: 绝对和相对。

绝对 定位情况下, 坐标代表自锚点边角沿 X 和 Y 数轴的像素距离。

相对 定位情况下, 坐标原点根据指定相对定位类型创建。当选择了垂直类型, 原点位于参考对象之下或之上 (如果分别选择了锚点上边角或下边角)。当选择了垂直类型, 它位于锚点边角方向的左侧或右侧。在此种情况下, 指定的坐标表示距其原点的偏移。正偏移量导致物体远离参考对象。当负偏移量的情况, 则物体侵占参照对象。

参照对象可以表示为另一个表盘对象。至关重要的是, 这两个对象将具有相同的锚点边角。

图例. 2 描绘相对定位的一个示例。

相对定位

图例.2. 表盘的相对定位

作者:Serhii Shevchuk