} // zeichnet alle Punkte aus List<Wert>. private void DrawWerte(Graphics Canvas, Wert Wert) { List <Point> CircumferencePointsList = new List <Point>(); Point CircumferencePoint; Point[] CircumferencePointsArray; float fRatio = 1F / Byte.MaxValue; byte bHalf = Byte.MaxValue / 2; int iIntensity = (byte)(Wert.Stärke - ((Wert.Stärke - bHalf) * 2)); float fIntensity = iIntensity * fRatio; for (double i = 0; i <= 360; i += 10) { CircumferencePoint = new Point(); CircumferencePoint.X = Convert.ToInt32(Wert.X + Wert.Stärke * Math.Cos(ConvertDegreesToRadians(i))); // Wert.Stärke = früher Radius CircumferencePoint.Y = Convert.ToInt32(Wert.Y + Wert.Stärke * Math.Sin(ConvertDegreesToRadians(i))); // Wert.Stärke = früher Radius CircumferencePointsList.Add(CircumferencePoint); } CircumferencePointsArray = CircumferencePointsList.ToArray(); PathGradientBrush GradientShaper = new PathGradientBrush(CircumferencePointsArray); ColorBlend GradientSpecifications = new ColorBlend(4); GradientSpecifications.Positions = new float[4] { 0, fIntensity, fIntensity, 1 }; if ((Wert.Stärke / 50) < 0) { if ((Wert.Stärke / 25) < 0) { GradientSpecifications.Colors = new Color[4] { Color.FromArgb(0, Color.White), Color.FromArgb(Wert.Stärke / 4, Color.LightGray), Color.FromArgb(Wert.Stärke / 2, Color.DarkGray), Color.FromArgb(Wert.Stärke * 2, Color.Black) }; } else { GradientSpecifications.Colors = new Color[4] { Color.FromArgb(0, Color.White), Color.FromArgb(Wert.Stärke / 25, Color.LightGray), Color.FromArgb(Wert.Stärke / 9, Color.DarkGray), Color.FromArgb(Wert.Stärke * 2, Color.Black) }; } } else { GradientSpecifications.Colors = new Color[4] { Color.FromArgb(0, Color.White), Color.FromArgb(Wert.Stärke / 50, Color.LightGray), Color.FromArgb(Wert.Stärke / 25, Color.DarkGray), Color.FromArgb(Wert.Stärke * 2, Color.Black) }; } GradientShaper.InterpolationColors = GradientSpecifications; Canvas.FillPolygon(GradientShaper, CircumferencePointsArray); } // ((( ungenutzt ))) fügt der Maske(NoiceMap) einen Wert hinzu
public Karte(Farbe farbe, Typ typ, Wert wert, bool verdeckt, string cardImage, int overlap) { Farbe = farbe; Typ = typ; Wert = wert; Verdeckt = verdeckt; ImageSource = cardImage; Overlap = overlap; }
static BerechnungsController() { //initialisiere Werte var wert1 = new Wert(); wert1.Typ = "vorlaeufig"; wert1.Kosten = (decimal)100.00; var wert2 = new Wert(); wert2.Typ = "vorlaeufig"; wert2.Kosten = (decimal)10.00; var wert3 = new Wert(); wert3.Typ = "endgueltig"; wert3.Kosten = (decimal)500.00; Werte = new List <Wert>(); Werte.Add(wert1); Werte.Add(wert2); Werte.Add(wert3); }
//Konstruktor public Wort(string Wort) { //Vorzeichen if (Wort.Contains("+")) { m_Vorzeichen = '+'; } else if (Wort.Contains("-")) { m_Vorzeichen = '-'; } else { m_Vorzeichen = '0'; } //PosVorzeichen if (m_Vorzeichen != '0') { m_PosVorzeichen = Wort.IndexOf(m_Vorzeichen); } //Wortidentifiktation string Wortidentifikation = String.Empty; if (m_Vorzeichen != '0') { Wortidentifikation = Wort.Substring(m_PosVorzeichen - 6, 2); } else { Wortidentifikation = Wort.Substring(0, 2); } m_Wortidentifikation = System.Convert.ToInt32(Wortidentifikation); //Wert if (m_Vorzeichen != '0') { m_Wert = Wort.Substring(m_PosVorzeichen + 1); m_Wert = m_Wert.TrimStart(new char[] { '0' }); } //Einheit // 0 - Meter (letzte Stelle == mm) // 1 - Feet // 2 - 400 gon // 3 - 360 grad dezimal // 4 - 360 grad sexagesimal // 5 - 6400 mil // 6 - Meter (letzte Stelle == 1/10 mm) // 7 - Feet (letzte Stelle == 1/10000 feet) // 8 - Meter (letzte Stelle == 1/100 mm) if (m_Vorzeichen != '0') { m_Einheit = Wort[m_PosVorzeichen - 1]; } //Wertkorrektur entsprechend Einheiten if (m_Wortidentifikation != 11 && m_Wortidentifikation != 71) { if (m_Wert.Contains('.')) { m_Wert = m_Wert.Substring(0, m_Wert.IndexOf('.')); } switch (m_Einheit) { case '0': if (Wert != "") { m_Wert = m_Wert.PadLeft(3, '0'); m_Wert = Wert.Insert(Wert.Length - 3, "."); } else { m_Wert = "0"; } break; case '6': if (Wert != "") { m_Wert = m_Wert.PadLeft(4, '0'); m_Wert = Wert.Insert(Wert.Length - 4, "."); } else { m_Wert = "0"; } break; case '8': if (Wert != "") { m_Wert = m_Wert.PadLeft(5, '0'); m_Wert = Wert.Insert(Wert.Length - 5, "."); } else { m_Wert = "0"; } break; } } }