Я создал меню, которое позволяет пользователям выбирать фигуру, которую они хотели нарисовать, затем пользователь нажимает на две точки, полоса выбранной фигуры будет нарисована в этой точке. Я сделал треугольник таким образом. Но я не совсем уверен, как нарисовать звезду таким же образом.
class Triangle : Shape
{
//This class contains the specific details for a triangle defined in terms of opposite corners
Point keyPt, oppPt; // these points identify opposite corners of the triangle
public Triangle(Point keyPt, Point oppPt) // constructor
{
this.keyPt = keyPt;
this.oppPt = oppPt;
}
public void draw(Graphics g, Pen blackPen)
{
double xDiff, yDiff, xMid, yMid; // range and mid points of x & y
// calculate ranges and mid points
xDiff = oppPt.X - keyPt.X;
yDiff = oppPt.Y - keyPt.Y;
xMid = (oppPt.X + keyPt.X) / 2;
yMid = (oppPt.Y + keyPt.Y) / 2;
// draw triangle
g.DrawLine(blackPen, (int)keyPt.X, (int)keyPt.Y, (int)(xMid + yDiff / 2), (int)(yMid - xDiff / 2));
g.DrawLine(blackPen, (int)(xMid + yDiff / 2), (int)(yMid - xDiff / 2), (int)oppPt.X, (int)oppPt.Y);
g.DrawLine(blackPen, (int)keyPt.X, (int)keyPt.Y, oppPt.X, oppPt.Y);
}
}
Ценю вашу помощь.