/// <summary> /// SetBinaire /// </summary> /// <param name="caracteres"></param> public void SetBinaire(PoliceList caracteres) { Couleur couleur = Couleur.Get(31, 64, 127); Couleur noir = Couleur.Get(1, 1, 1); string heure = Convert.ToString(DateTime.Now.Hour, 2).PadLeft(6, '0'); string minute = Convert.ToString(DateTime.Now.Minute, 2).PadLeft(6, '0'); string seconde = Convert.ToString(DateTime.Now.Second, 2).PadLeft(6, '0'); for (int h = 0; h < 6; h++) { if (heure[h] == '1') { GetCoordonnee(Coordonnee.Get(2, h * 2 + 1, Largeur, Hauteur)).SetColor(couleur); GetCoordonnee(Coordonnee.Get(3, h * 2 + 1, Largeur, Hauteur)).SetColor(couleur); GetCoordonnee(Coordonnee.Get(4, h * 2 + 1, Largeur, Hauteur)).SetColor(couleur); } else { GetCoordonnee(Coordonnee.Get(2, h * 2 + 1, Largeur, Hauteur)).SetColor(noir); GetCoordonnee(Coordonnee.Get(3, h * 2 + 1, Largeur, Hauteur)).SetColor(noir); GetCoordonnee(Coordonnee.Get(4, h * 2 + 1, Largeur, Hauteur)).SetColor(noir); } } for (int m = 0; m < 6; m++) { if (minute[m] == '1') { GetCoordonnee(Coordonnee.Get(9, m * 2 + 1, Largeur, Hauteur)).SetColor(couleur); GetCoordonnee(Coordonnee.Get(10, m * 2 + 1, Largeur, Hauteur)).SetColor(couleur); GetCoordonnee(Coordonnee.Get(11, m * 2 + 1, Largeur, Hauteur)).SetColor(couleur); } else { GetCoordonnee(Coordonnee.Get(9, m * 2 + 1, Largeur, Hauteur)).SetColor(noir); GetCoordonnee(Coordonnee.Get(10, m * 2 + 1, Largeur, Hauteur)).SetColor(noir); GetCoordonnee(Coordonnee.Get(11, m * 2 + 1, Largeur, Hauteur)).SetColor(noir); } } for (int s = 0; s < 6; s++) { if (seconde[s] == '1') { GetCoordonnee(Coordonnee.Get(16, s * 2 + 1, Largeur, Hauteur)).SetColor(couleur); GetCoordonnee(Coordonnee.Get(17, s * 2 + 1, Largeur, Hauteur)).SetColor(couleur); GetCoordonnee(Coordonnee.Get(18, s * 2 + 1, Largeur, Hauteur)).SetColor(couleur); } else { GetCoordonnee(Coordonnee.Get(16, s * 2 + 1, Largeur, Hauteur)).SetColor(noir); GetCoordonnee(Coordonnee.Get(17, s * 2 + 1, Largeur, Hauteur)).SetColor(noir); GetCoordonnee(Coordonnee.Get(18, s * 2 + 1, Largeur, Hauteur)).SetColor(noir); } } Print(caracteres, 2, 14, couleur); }
/// <summary> /// SetDate /// </summary> /// <param name="policeLists"></param> /// <param name="heure"></param> public void SetDate(PoliceList caracteres) { Couleur couleur = Couleur.Get(0, 0, 127); Print(DateTime.Now.ToString("yyyy"), 4, 1, couleur); Print(DateTime.Now.ToString("MM-dd"), 1, 7, couleur); Print(caracteres, 2, 13, couleur); }
/// <summary> /// SetNouvelle /// </summary> public void SetNouvelle(PoliceList caracteres, string heure) { Couleur couleur = Couleur.Get(64, 0, 0); Print(caracteres, 0, 1, Couleur.Get(32, 32, 127)); Print(DateTime.Now.ToString("MM-dd"), 1, 7, couleur); Print(heure, 2, 13, couleur); BackGround(); }
/// <summary> /// SetHorloge /// </summary> /// <returns></returns> public decimal SetHorloge(PoliceList caracteres, decimal cycle, int bg) { Couleur minuteCouleur = new Couleur { R = 39 / 2, G = 144 / 2, B = 176 / 2 }; //39,144,176 Couleur heureCouleur = new Couleur { R = 148 / 2, G = 200 / 2, B = 80 / 2 }; //148,186,101 Couleur pointCouleur = new Couleur { R = 148 / 5, G = 200 / 5, B = 80 / 5 }; //148,186,101 //5 minutes for (int i = 0; i < 60; i += 5) { GetCoordonnee(GetTempsCoord(i, 10)).SetColor(pointCouleur); } GetCoordonnee(Coordonnee.Get(9, 0, Largeur, Hauteur)).SetColor(pointCouleur); GetCoordonnee(Coordonnee.Get(9, 19, Largeur, Hauteur)).SetColor(pointCouleur); cycle = BackGround(bg, cycle); Print(caracteres, 1, 13, Couleur.Noir); //Aiguille int minute = DateTime.Now.Minute; int heure = DateTime.Now.Hour; for (int i = 0; i < 9; i++) { GetCoordonnee(GetTempsCoord(DateTime.Now.Second + DateTime.Now.Millisecond / (double)1000, i)).SetColor(new Couleur { R = 80 / 2, G = 78 / 2, B = 114 / 2 }); //43,78,114 } for (int i = 0; i < 8; i++) { GetCoordonnee(GetTempsCoord(minute + DateTime.Now.Second * 1.6 / 100, i)).SetColor(minuteCouleur); } for (int i = 0; i < 6; i++) { GetCoordonnee(GetHeureCoord(heure, minute, i)).SetColor(heureCouleur); } for (int i = 0; i < 9; i++) { GetCoordonnee(GetTempsCoord((DateTime.Now.Millisecond / (double)100 * 6) - i, 9)).SetColor(new Couleur { R = new List <byte> { 128, 64, 32, 16, 8, 8, 8, 4, 4 }[i], B = 5 }); } return(cycle); }
/// <summary> /// Print /// </summary> /// <param name="caracteres"></param> /// <param name="x"></param> /// <param name="y"></param> /// <param name="couleur"></param> public void Print(PoliceList caracteres, int x, int y, Couleur couleur) { if (caracteres != null) { foreach (Police lettre in caracteres.Where(c => c.Point)) { if (GetCoordonnee(lettre.X + x, lettre.Y + y) is Pixel pixel) { pixel.SetColor(couleur); } } } }
/// <summary> /// Caracteres /// </summary> /// <param name="debut"></param> /// <param name="fin"></param> /// <returns></returns> public PoliceList GetCaracteres(int debut = 0) { int i = 0; int position = 0; PoliceList polices = new PoliceList(); //Définir le offset de la fraction de lettre qui disparait du coté gauche while (position < debut && Count > i) { if (this[i++].Polices(0, position) is PoliceList lettre) { position += lettre.Largeur; polices.Offset = lettre.Largeur - (position - debut); } } position = 0; if (polices.Offset != 0) { i--; } //Espace du coté gauche au début du défilement while (debut++ < 0) { polices.AddRange(PoliceList.GetPolice(0, position++, ' ')); } while (position <= Largeur && Count > i) { if (this[i++].Polices(polices.Offset, position) is PoliceList lettre) { polices.AddRange(lettre); position += lettre.Largeur; } } //Fraction de la derniere lettre du coté droit if (Count > i && this[i++].Polices(polices.Offset, position) is PoliceList derniereLettre) { polices.AddRange(derniereLettre); } return(polices); }