public void SimpleGuage() { var gauge = new AngularGauge(); gauge.Axis.LowerLimit = 0; gauge.Axis.UpperLimit = 100; gauge.Axis.LowerLimitDisplay = "Bad"; gauge.Axis.UpperLimitDisplay = "Good"; gauge.GaugeStartAngle = 180; gauge.GaugeEndAngle = 0; gauge.Palette = 1; gauge.NumberAttr.NumberSuffix = "%"; gauge.TickMarkAttr.TickValueDistance = 20; gauge.DataStreamUrl = "CPUData.ashx"; gauge.RefreshInterval = 3; BuildColorRange(gauge); BuildDials(gauge); BuildAlerts(gauge); BuildAnnotations(gauge); BuildStyles(gauge); ValidateChartXml(gauge); }
public void Overflow(bool isDirectionReversed, double tickGap, double strokeThickness, string padding, string expected) { var tickBar = new AngularBlockBar { StrokeThickness = strokeThickness, Minimum = 0, Maximum = 10, TickFrequency = 1, TickGap = tickGap, Stroke = Brushes.Black, Fill = Brushes.Red, IsDirectionReversed = isDirectionReversed, Padding = padding.AsThickness(), }; var gauge = new AngularGauge { Content = tickBar }; gauge.Arrange(new Rect(new Size(10, 10))); Assert.AreEqual(expected, tickBar.Overflow.ToString()); Assert.AreEqual(expected, gauge.ContentOverflow.ToString()); gauge.Measure(new Size(10, 10)); gauge.Arrange(new Rect(new Size(10, 10))); Assert.AreEqual(expected, tickBar.Overflow.ToString()); Assert.AreEqual(expected, gauge.ContentOverflow.ToString()); }
private static AngularGauge CreateAngularGauge() { var chart = new AngularGauge(); chart.Axis.LowerLimit = 0; chart.Axis.UpperLimit = 100; chart.Axis.LowerLimitDisplay = "Bad"; chart.Axis.UpperLimitDisplay = "Good"; chart.GaugeStartAngle = 180; chart.GaugeEndAngle = 0; chart.Palette = 1; chart.ShowValue = true; chart.NumberAttr.NumberSuffix = "%"; chart.TickMarkAttr.TickValueDistance = 20; chart.DataStreamUrl = "AngularGaugeRealTime.ashx"; chart.RefreshInterval = 3; BuildColorRange(chart); BuildDials(chart); BuildStyles(chart); BuildAnnotations(chart); BuildAlerts(chart); return(chart); }
public void Overflow(bool isDirectionReversed, double tickWidth, double strokeThickness, string padding, string expected) { var tickBar = new Arc { StrokeThickness = strokeThickness, Start = Angle.FromDegrees(-140), End = Angle.FromDegrees(140), Minimum = 0, Maximum = 10, Stroke = Brushes.Black, Fill = Brushes.Red, IsDirectionReversed = isDirectionReversed, Padding = padding.AsThickness(), }; var gauge = new AngularGauge { Content = tickBar }; gauge.Arrange(new Rect(new Size(10, 10))); Assert.AreEqual(expected, tickBar.Overflow.ToString()); Assert.AreEqual(expected, gauge.ContentOverflow.ToString()); gauge.Measure(new Size(10, 10)); gauge.Arrange(new Rect(new Size(10, 10))); Assert.AreEqual(expected, tickBar.Overflow.ToString()); Assert.AreEqual(expected, gauge.ContentOverflow.ToString()); }
private static void BuildDials(AngularGauge gauge) { gauge.Dials.Add(new DialElement { Id = "CS", Value = 12, RearExtension = 10 }); }
/// <summary> /// 원하는 Chart를 빌드합니다. /// </summary> public override IChart BuildFusionChart() { var option = Request["Option"].AsInt(1); var gauge = new AngularGauge(); switch (option) { case 1: FeatherEffectAngularGauge(gauge); break; case 2: MetalEffectAngularGague(gauge); break; } return(gauge); }
private static void FeatherEffectAngularGauge(AngularGauge gauge) { gauge.BackgroundAttr.BgColor = Color.White; gauge.Axis.UpperLimit = 100; gauge.Axis.LowerLimit = 0; gauge.BaseFontAttr.FontColor = "#666666".FromHtml(); gauge.TickMarkAttr.ShowLimits = true; gauge.TickMarkAttr.MajorTM.Number = 11; gauge.TickMarkAttr.MajorTM.Color = "#666666".FromHtml(); gauge.TickMarkAttr.MajorTM.Height = 8; gauge.TickMarkAttr.MinorTM.Number = 5; gauge.TickMarkAttr.MinorTM.Color = "#666666".FromHtml(); gauge.TickMarkAttr.MinorTM.Height = 3; gauge.Border.Show = false; gauge.GaugeOuterRadius = 100; gauge.GaugeInnerRadius = 90; gauge.GaugeOriginX = 170; gauge.GaugeOriginY = 170; gauge.GaugeScaleAngle = 320; // gauge.GaugeStartAngle = 320; gauge.TickMarkAttr.TickValueDistance = 10; gauge.TickMarkAttr.PlaceValuesInside = true; gauge.GaugeFillMix = ""; gauge.Pivot.Radius = 20; gauge.Pivot.FillMix = "{F0EFEA}, {BEBCBO}"; gauge.Pivot.BorderColor = "#BEBCB0".FromHtml(); gauge.Pivot.FillRatio = "80, 20"; gauge.ShowShadow = false; gauge.AddColor(0, 80, "#00FF00".FromHtml(), null).Alpha = 0; gauge.AddColor(80, 100, "#FF0000".FromHtml(), "Danger").Alpha = 50; var dial = gauge.AddDial(null, 65); dial.BgColor = "BEBCB0, F0EFEA, BEBCB0"; dial.Border.Color = Color.White; dial.Border.Alpha = 0; dial.BaseWidth = 10; dial.TopWidth = 3; var annGrp = gauge.AddAnnotationGroup(170, 170); var ca = new CircleAnnotation { X = 0, Y = 0, Radius = 150 }; ca.Border.Color = "#BEBCB0".FromHtml(); ca.FillColor = "F0EFEA, BEBCB0"; ca.FillRatio = "85,15"; ca.FillPattern = FillMethod.Linear; annGrp.Add(ca); ca = new CircleAnnotation { X = 0, Y = 0, Radius = 120 }; ca.Border.Color = "#BEBCB0".FromHtml(); ca.FillColor = "F0EFEA, BEBCB0"; ca.FillRatio = "85,15"; annGrp.Add(ca); ca = new CircleAnnotation { X = 0, Y = 0, Radius = 100, Color = Color.White.ToHexString() }; ca.Border.Color = "#F0EFEA".FromHtml(); annGrp.Add(ca); }
private static void MetalEffectAngularGague(AngularGauge gauge) { }