Norbert M.

Norbert M. Nobody's perfect.
Call me Nobody ;)

Temat: Path

Jak narysować sinusoidę z poziomu kodu?

Np. taką:
<Path Stretch="Fill" Stroke="Black" StrokeThickness="1" Canvas.Left="39.5" Canvas.Top="141.722" Data="M40,160 C40,160 80,120 120,160 C160,200 200,160 200,160 C200,160 240,120.00055 280,160 C320,200 360,160 360,160"/>

Próbowałem już na kilka sposobów ale zazwyczaj wychodzą mi jakieś bochomazy :)

konto usunięte

Temat: Path

Norbert Maziarz:
Wektorówka czy Raster? Podejrzewam, że o rastra byś nie pytał więc wektorowo no cóż, aproksymuj sobie tyloma krzywymi ile potrzebujesz, a do dyspozycji masz krzywe Beziera 2,3 stopnia oraz elipsy:)
Norbert M.

Norbert M. Nobody's perfect.
Call me Nobody ;)

Temat: Path

Coś żle robiłem, bo nie wychodziły mi równe kształty. Ostatecznie zaorałem i zrobiłem raz jeszcze, no i wyszło.

public Path GetPath()
{
Path path = new Path();
PathGeometry g = new PathGeometry();
Point start = new Point(0, 50);
int sign = -1;
double width = 40;

for (int i = 1; i < 15; i++)
{

PathFigure f = new PathFigure();
f.StartPoint = start;

Point middle = new Point(start.X + width, start.Y + 30*sign);
Point end = new Point(start.X + width*2, 50);
BezierSegment p = new BezierSegment();
p.Point1 = (start);
p.Point2 = (middle);
p.Point3 = (end);

f.Segments.Add(p);
g.Figures.Add(f);

start = end;
sign *= -1;
}

path.Data = g;
path.Stroke = new SolidColorBrush(Colors.Red);
path.StrokeThickness = 1;
return path;
}

Następna dyskusja:

SOC Analyst Training in Pun...




Wyślij zaproszenie do