
绿、琥珀、红,标明数值应处的位置。
Scales[0].Ranges.Add绘制一个区段,带有自己的StartValue、EndValue、Color、Thickness和Caption。Minimum、Maximum、MajorInterval和MinorCount设置刻度,Reversed让刻度反向运行。StartAngle和SweepAngle决定圆形仪表的弧形。
面向仪表盘和 HMI 面板的十种仪表类型,从圆形表盘到报警指示牌。绘制绿色、琥珀色和红色区段,数值越过限值时触发报警,让指针平滑移动到每个新读数,并在服务器上把同一个仪表渲染为 PNG 或 SVG。
速度用表盘,液位用条形,频率用数字,水泵用指示灯,报警用图块。sgcGauges 以相同的刻度、指针、区段、阈值和主题绘制所有这些仪表。
圆形、线性、数字、LED、LED 条、环形、VU 表、时钟、罗盘、报警指示牌。
带迟滞的阈值每次越界只触发一个事件,并在主线程中触发。
可从任意线程设置 Value,也可通过桥接绑定 MQTT、WebSocket 和 SSE。
VCL、FireMonkey 和 .NET 控件,在服务器上还可输出 PNG 和 SVG。
录制自试用版附带的 sgcGauges 演示。

Scales[0].Ranges.Add 绘制一个区段,带有自己的 StartValue、EndValue、Color、Thickness 和 Caption。Minimum、Maximum、MajorInterval 和 MinorCount 设置刻度,Reversed 让刻度反向运行。StartAngle 和 SweepAngle 决定圆形仪表的弧形。Animation.Duration 内从旧值过渡,默认 300 ms。Easing 可选五种曲线:geLinear、geQuadOut、geCubicOut、geCubicInOut 或 geBackOut。
TsgcGaugeThreshold 包含 Value、Direction 和 Hysteresis 区间,因此在临界值附近波动的压力只会触发一次。OnThreshold 始终在主线程中运行,无论由哪个线程写入数值。Acknowledge。
Theme := utDark 或 utLight 切换表盘、刻度、标签和数值;区段保持各自的颜色。SaveToPNG 和 SaveToSVG 适用于每个模型和控件,无需窗体。线性样式、多个指针、罗盘和时钟,直接来自演示。

glsBar、glsThermometer,以及带 Target 的 glsBullet 子弹图。


设置刻度,添加红色区段和报警阈值,选择缓动曲线,然后把同一个仪表导出为 PNG。Delphi、C++ Builder 和 C# 使用相同的 API。
dotnet add package esegece.sgcGauges.WinForms
uses
SysUtils, Classes, Controls, Forms, sgcUICore_Theme,
sgcGauges_Types, sgcGauges_Model, sgcGauges_VCL;
procedure CreatePressureGauge(aForm: TForm);
var
oGauge: TsgcVCLRadialGauge;
begin
oGauge := TsgcVCLRadialGauge.Create(aForm);
oGauge.Parent := aForm;
oGauge.SetBounds(16, 16, 240, 240);
oGauge.Title := 'Pressure';
oGauge.Units := 'bar';
oGauge.Theme := utDark;
oGauge.Scales[0].Maximum := 10;
oGauge.Scales[0].MajorInterval := 2;
// a red band from 8 to 10 bar
with oGauge.Scales[0].Ranges.Add do
begin
StartValue := 8;
EndValue := 10;
Color := $FFE34948;
end;
// OnThreshold fires once per crossing, in the main thread
with oGauge.Thresholds.Add do
begin
Value := 8;
Hysteresis := 0.5;
Direction := gtdBoth;
end;
oGauge.Animation.Easing := geCubicOut;
oGauge.Value := 6.5;
// the same drawing code exports the gauge to PNG at twice its size
oGauge.SaveToPNG(ExtractFilePath(ParamStr(0)) + 'pressure.png', 2);
end;
可单独购买 sgcGauges,也可在 sgcUI 的 Professional 和 Enterprise 版本中获得它,与共用其主题和运行时的产品一起使用。均附带源代码。
对于 .NET, esegece.sgcGauges.Community 在 NuGet 上免费,包含六种仪表类型。sgcGauges 也包含在 All-Access 套餐。
每款 sgcUI 产品都使用同一个运行时 sgcUICore 绘制,因此仪表会与周围的仪表盘、图表和编辑器一起切换主题。

仪表位于仪表盘图块中,与 KPI 卡片并排,如 DashboardGauges 演示所示。

仪表旁的实时图表展示每个读数背后的趋势。

操作员用滑块和数值微调框设置限值和设定点。
Standard
Professional 增加
Enterprise 增加