void AskValues() { Robots.MainRobot.ReadAnalogicPins(Carte, true); if (Robots.MainRobot.AnalogicPinsValue[Carte] != null) { this.InvokeAuto(() => { List <double> values = Robots.MainRobot.AnalogicPinsValue[Carte]; lblAN1.Text = values[0].ToString("0.0000") + " V"; lblAN2.Text = values[1].ToString("0.0000") + " V"; lblAN3.Text = values[2].ToString("0.0000") + " V"; lblAN4.Text = values[3].ToString("0.0000") + " V"; lblAN5.Text = values[4].ToString("0.0000") + " V"; lblAN6.Text = values[5].ToString("0.0000") + " V"; lblAN7.Text = values[6].ToString("0.0000") + " V"; lblAN8.Text = values[7].ToString("0.0000") + " V"; lblAN9.Text = values[8].ToString("0.0000") + " V"; ctrlGraphique.AddPoint("AN1", values[0], ColorPlus.FromHsl(360 / 9 * 0, 1, 0.4)); ctrlGraphique.AddPoint("AN2", values[1], ColorPlus.FromHsl(360 / 9 * 1, 1, 0.4)); ctrlGraphique.AddPoint("AN3", values[2], ColorPlus.FromHsl(360 / 9 * 2, 1, 0.4)); ctrlGraphique.AddPoint("AN4", values[3], ColorPlus.FromHsl(360 / 9 * 3, 1, 0.4)); ctrlGraphique.AddPoint("AN5", values[4], ColorPlus.FromHsl(360 / 9 * 4, 1, 0.4)); ctrlGraphique.AddPoint("AN6", values[5], ColorPlus.FromHsl(360 / 9 * 5, 1, 0.4)); ctrlGraphique.AddPoint("AN7", values[6], ColorPlus.FromHsl(360 / 9 * 6, 1, 0.4)); ctrlGraphique.AddPoint("AN8", values[7], ColorPlus.FromHsl(360 / 9 * 7, 1, 0.4)); ctrlGraphique.AddPoint("AN9", values[8], ColorPlus.FromHsl(360 / 9 * 8, 1, 0.4)); }); } }
public override Color ReadSensorColor(SensorColorID sensor, bool wait = true) { ColorPlus c = Color.White; int i = DateTime.Now.Millisecond + DateTime.Now.Second * 1000 + DateTime.Now.Minute * 60 * 1000 + DateTime.Now.Hour * 60 * 60 * 1000; int max = 999 + 59 * 1000 + 59 * 60 * 1000 + 23 * 60 * 60 * 1000; i %= (15 * 1000); max %= (15 * 1000); int steps = 10; int maxColor = 255 * steps; i = (int)Math.Floor(i / (max / (float)maxColor)); switch (i / 255) { case 0: c = ColorPlus.FromRgb(255, i % 255, 0); break; case 1: c = ColorPlus.FromRgb(255 - i % 255, 255, 0); break; case 2: c = ColorPlus.FromRgb(0, 255, i % 255); break; case 3: c = ColorPlus.FromRgb(0, 255 - i % 255, 255); break; case 4: c = ColorPlus.FromRgb(i % 255, 0, 255); break; case 5: c = ColorPlus.FromRgb(255, 0, 255 - i % 255); break; case 6: c = ColorPlus.FromRgb(255 - i % 255, 0, 0); break; case 7: c = ColorPlus.FromRgb(i % 255, i % 255, i % 255); break; case 8: c = ColorPlus.FromRgb(255 - i % 255 / 2, 255 - i % 255 / 2, 255 - i % 255 / 2); break; case 9: c = ColorPlus.FromHsl(0, i % 255 / 255f, 0.5); break; } OnSensorColorChanged(sensor, c); return(SensorsColorValue[sensor]); }
/// <summary> /// Détermine la couleur actuellement affichée /// </summary> /// <param name="color">Couleur affichée</param> public void SetColor(Color c) { this.InvokeAuto(() => { ColorPlus color = c; lblR.Text = color.Red.ToString(); lblG.Text = color.Green.ToString(); lblB.Text = color.Blue.ToString(); lblH.Text = ((int)(color.Hue)).ToString(); lblS.Text = ((int)(color.Saturation * 255)).ToString(); lblL.Text = ((int)(color.Lightness * 255)).ToString(); picColor.Image = MakeColorZone(picColor.Size, color); picR.Image = MakeColorBar(picR.Size, Color.Red, color.Red); picG.Image = MakeColorBar(picG.Size, Color.FromArgb(44, 208, 0), color.Green); picB.Image = MakeColorBar(picB.Size, Color.FromArgb(10, 104, 199), color.Blue); picH.Image = MakeColorBarRainbow(picR.Size, color.Hue); picS.Image = MakeColorBar2(picG.Size, ColorPlus.FromHsl(color.Hue, 0, 0.5), ColorPlus.FromHsl(color.Hue, 1, 0.5), (int)(color.Saturation * 255)); picL.Image = MakeColorBar2(picB.Size, ColorPlus.FromHsl(color.Hue, 1, 0), ColorPlus.FromHsl(color.Hue, 1, 1), (int)(color.Lightness * 255)); }); }
/// <summary> /// Retourne la couleur terne équivalente. /// </summary> /// <param name="color">Couleur d'origine.</param> /// <returns>Couleur terne.</returns> public static ColorPlus GetDull(ColorPlus color) { return(ColorPlus.FromHsl(color.Hue, 0.2, 0.75)); }
/// <summary> /// Retourne la couleur sombre équivalente. /// </summary> /// <param name="color">Couleur d'origine.</param> /// <returns>Couleur sombre.</returns> public static ColorPlus GetDark(ColorPlus color) { return(ColorPlus.FromHsl(color.Hue, 1, 0.3)); }
/// <summary> /// Retourne la couleur très estompée équivalente. /// </summary> /// <param name="color">Couleur d'origine.</param> /// <returns>Couleur très estompée.</returns> public static ColorPlus GetVeryLight(ColorPlus color) { return(ColorPlus.FromHsl(color.Hue, 1, 0.93)); }
/// <summary> /// Retourne la couleur pastel équivalente. /// </summary> /// <param name="color">Couleur d'origine.</param> /// <returns>Couleur pastel.</returns> public static ColorPlus GetPastel(ColorPlus color) { return(ColorPlus.FromHsl(color.Hue, 1, 0.85)); }
/// <summary> /// Retourne la couleur intense équivalente. /// </summary> /// <param name="color">Couleur d'origine.</param> /// <returns>Couleur intense.</returns> public static ColorPlus GetIntense(ColorPlus color) { return(ColorPlus.FromHsl(color.Hue, 1, 0.4)); }
/// <summary> /// Retourne la couleur fluo équivalente. /// </summary> /// <param name="color">Couleur d'origine.</param> /// <returns>Couleur fluo.</returns> public static ColorPlus GetFluo(ColorPlus color) { return(ColorPlus.FromHsl(color.Hue, 1, 0.6)); }