Загрузка...

Рисование треугольной пирамиды Win Form

Тема в разделе C# создана пользователем Pavel6025 16 фев 2017. 1537 просмотров

Загрузка...
  1. Pavel6025
    Pavel6025 Автор темы 16 фев 2017 90 15 авг 2016
  2. ΔΚΔΝΔ
    ΔΚΔΝΔ 16 фев 2017 5 14 янв 2017
    Если бы равносторонним был - было бы круче)
     
  3. Hangover_inactive59523
    [IMG]
    Код
    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
     
    17 фев 2017 Изменено
  4. Pavel6025
    Pavel6025 Автор темы 17 фев 2017 90 15 авг 2016
    а движение можешь реализовать? С помощью движения мышью
     
  5. Hangover_inactive59523
    движение куда?
    опиши подробно, я не понимаю
     
  6. Pavel6025
    Pavel6025 Автор темы 17 фев 2017 90 15 авг 2016
    по форме при нажатии на рисунок
     
  7. Pavel6025
    Pavel6025 Автор темы 17 фев 2017 90 15 авг 2016
  8. Hangover_inactive59523
    [IMG]
    типо так? (на гифке оно криво рисуется из-за низкого фпс, в реальности все отлично)
     
  9. Pavel6025
    Pavel6025 Автор темы 17 фев 2017 90 15 авг 2016
    l
    да
     
  10. Hangover_inactive59523
    В общем заходишь в код формы, там делаешь вот так:
    [IMG]
    Потом заходишь в конструктор форм, выделяешь форму и сбоку в студии находишь событие MouseMove:
    [IMG]
    по нему дабл клик и пишешь код в спойлере
    Код
      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 Автор темы 17 фев 2017 90 15 авг 2016
    Спасибо большое
     
  12. Pavel6025
    Pavel6025 Автор темы 17 фев 2017 90 15 авг 2016
    Всё работает. Спасибо тебе большое
     
Top