Компьютерная графика, мультимедиа и игры на Visual C#


         

Глава Рисование линий при помощи нажатия кнопки мыши


Листинг 27.1. Объявляем глобальные переменные и записываем наш код.

    //Объявляем глобальные переменные для координат "x" и "y"

    //указателя мыши в момент 1-го и 2-го нажатий кнопки мыши:

    public int x_MouseDown_1, y_MouseDown_1,

                x_MouseDown_2, y_MouseDown_2;

    //Чтобы рисование осуществлялось только после каждого щелчка

    //кнопки,объявляем переключатель рисования

    //в виде глобальной переменной OffOn:

    bool OffOn = false;

    private void Form1_MouseDown(object sender, MouseEventArgs e)

    {

        //Объявляем объект "g" класса Graphics

        //и при помощи функции CreateGraphics

        //предоставляем ему возможность рисования

        //на this форме Form1:

        Graphics g = this.CreateGraphics();

        //Выбираем перо "myPen" красного цвета Red

        //толщиной в 3 пикселя:

        Pen myPen = new Pen(Color.Red, 3);

        //Определяем координаты "x" и "y" указателя мыши

        //в момент нажатия кнопки мыши:

        x_MouseDown_2 = e.X;

        y_MouseDown_2 = e.Y;

        //Проверяем условие для переменной OffOn:

        //Если переменная OffOn равна

        //исходному значению false,

        if (OffOn == false)

      {

            //то задаем координаты указателя мыши

            //после первого нажатия кнопки мыши:

            x_MouseDown_1 = x_MouseDown_2;

            y_MouseDown_1 = y_MouseDown_2;

            //Изменяем значение OffOn на противоположное:

            OffOn = true;

      }

        else

      {

            //Если переключатель в виде переменной OffOn

            //равен true, то рисуем линию между предыдущей

            //и последующей позицией указателя мыши

        //в момент нажатия кнопки мыши:

        g.DrawLine(myPen, x_MouseDown_1, y_MouseDown_1,

                               x_MouseDown_2, y_MouseDown_2);

            //Задаем предыдущей позиции указателя мыши

            //координаты данной позиции указателя мыши:




Содержание  Назад  Вперед