Moin Leute.
Folgender Code erzeugt eine Datenkurve:
Spoiler anzeigen
Der Output ist folgender:
In einem anderen Programm werden dieselben Daten so dargestellt:
Ich würde gern wissen, wie man da Spline oder BiCubic oder dies eben erzeugt.
Kann mir jemand auf die Sprünge helfen, welcher Befehl, Parameter oder Property diese abgerundeten Kurven erzeugt?
Freundlichen Dank
und
Allzeit beste Gesundheit.
Folgender Code erzeugt eine Datenkurve:
C#-Quellcode
- using System;
- using System.Collections.Generic;
- using System.Drawing;
- using System.Drawing.Drawing2D;
- using System.Windows.Forms;
- namespace WindowsFormsApplication1
- {
- public partial class MainForm : Form
- {
- private GraphicsPath PathPoints;
- private GraphicsPath PathPoints2;
- private List<PointF> Points;
- public MainForm()
- {
- this.InitializeComponent();
- this.PathPoints2 = new GraphicsPath();
- }
- private void button1_Click(object sender, EventArgs e)
- {
- this.Points = new List<PointF>();
- string path = @"C:\Temp\CRD\Test GraphicsPath.txt";
- int i = 0;
- foreach (string line in System.IO.File.ReadLines(path))
- {
- float value = float.Parse(line);
- // y-invers
- this.Points.Add(new PointF(i, -value));
- i++;
- }
- this.PathPoints = new GraphicsPath();
- this.PathPoints.AddLines(this.Points.ToArray());
- this.pictureBox1.Invalidate();
- }
- private void Form1_Resize(object sender, EventArgs e)
- {
- this.pictureBox1.Invalidate();
- }
- private void pictureBox1_Paint(object sender, PaintEventArgs e)
- {
- if (this.PathPoints == null || this.PathPoints.PointCount == 0)
- {
- // noch keine Daten da
- return;
- }
- this.PathPoints2.Reset();
- this.PathPoints2.AddPath(this.PathPoints, false);
- using (Matrix matrix = new Matrix())
- {
- RectangleF rc = this.PathPoints2.GetBounds();
- // Linie nicht auf den Rand malen
- rc.Inflate(1, 1);
- matrix.Scale(this.pictureBox1.ClientRectangle.Width / rc.Width, this.pictureBox1.ClientRectangle.Height / rc.Height);
- matrix.Translate(-rc.Left, -rc.Top);
- this.PathPoints2.Transform(matrix);
- e.Graphics.DrawPath(Pens.Black, this.PathPoints2);
- }
- }
- }
- }
In einem anderen Programm werden dieselben Daten so dargestellt:
Ich würde gern wissen, wie man da Spline oder BiCubic oder dies eben erzeugt.
Kann mir jemand auf die Sprünge helfen, welcher Befehl, Parameter oder Property diese abgerundeten Kurven erzeugt?
Freundlichen Dank
und
Allzeit beste Gesundheit.
Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert!
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert!