Загрузка...

Drawing Triangular Pyramid Win Form

Thread in C# created by Pavel6025 Feb 16, 2017. 1552 views

  1. Pavel6025
    Pavel6025 Topic starter Feb 16, 2017 90 Aug 15, 2016
  2. renameduser_75987
    Если бы равносторонним был - было бы круче)
     
  3. Hangover_inactive59523
    [IMG]
    Code
    protected override void OnPaint(PaintEventArgs e)
    {

    base.OnPaint(e);

    //Координаты 3ех точек, на которых будет строится твой треугольник
    var points = new Point[] { new Point(30, 90), new Point(90, 90), new Point(60, 20) };

    //Метод отрисовки твоего треугольника на основании 3ёх точек
    e.Graphics.DrawPolygon(new Pen(Color.Black), points);

    //Рисуем 3 линии от каждой точки к центру твоего треугольника
    e.Graphics.DrawLine(new Pen(Color.Black), new Point(30, 90), new Point(60, 60));
    e.Graphics.DrawLine(new Pen(Color.Black), new Point(90, 90), new Point(60, 60));
    e.Graphics.DrawLine(new Pen(Color.Black), new Point(60, 20), new Point(60, 60));

    //Либо создаёшь массив точек и используешь метод DrawLines
    //var linesPoints = new Point[]

    //{
    // new Point(30, 90), new Point(60, 60), //1 линия
    // new Point(90, 90), new Point(60, 60), //2 линия
    // new Point(60, 20), new Point(60, 60) //3 линия
    //};

    //e.Graphics.DrawLines(new Pen(Color.Bisque), linesPoints);

    }
    Создаёшь винформс приложение, переходишь в код твоей формы и переопределяешь OnPaint, прост мой код вставь и всё ))00
     
  4. Pavel6025
    Pavel6025 Topic starter Feb 17, 2017 90 Aug 15, 2016
    а движение можешь реализовать? С помощью движения мышью
     
  5. Hangover_inactive59523
    движение куда?
    опиши подробно, я не понимаю
     
  6. Pavel6025
    Pavel6025 Topic starter Feb 17, 2017 90 Aug 15, 2016
    по форме при нажатии на рисунок
     
  7. Pavel6025
    Pavel6025 Topic starter Feb 17, 2017 90 Aug 15, 2016
  8. Hangover_inactive59523
    [IMG]
    типо так? (на гифке оно криво рисуется из-за низкого фпс, в реальности все отлично)
     
  9. Pavel6025
    Pavel6025 Topic starter Feb 17, 2017 90 Aug 15, 2016
    l
    да
     
  10. Hangover_inactive59523
    В общем заходишь в код формы, там делаешь вот так:
    [IMG]
    Потом заходишь в конструктор форм, выделяешь форму и сбоку в студии находишь событие MouseMove:
    [IMG]
    по нему дабл клик и пишешь код в спойлере
    Code
      graph.Clear(this.BackColor);

    var linesPoints = new Point[]
    {
    new Point(e.X, e.Y), new Point(e.X+30,e.Y-30),
    new Point(e.X+60, e.Y), new Point(e.X+30,e.Y-30),
    new Point(e.X+30, e.Y-60),new Point(e.X+30,e.Y-30)
    };

    var points = new Point[]
    {
    new Point(e.X, e.Y),
    new Point(e.X+60, e.Y),
    new Point(e.X+30, e.Y-60)
    };

    graph.DrawPolygon(new Pen(Color.Black), points);
    graph.DrawLines(new Pen(Color.Black), linesPoints);
     
  11. Pavel6025
    Pavel6025 Topic starter Feb 17, 2017 90 Aug 15, 2016
    Спасибо большое
     
  12. Pavel6025
    Pavel6025 Topic starter Feb 17, 2017 90 Aug 15, 2016
    Всё работает. Спасибо тебе большое
     
Loading...
Top