Exemple #1
0
        int widthForm, heightForm; // размеры основной формы

        #endregion Fields

        #region Constructors

        public FormSprite()
        {
            InitializeComponent();

            widthForm = this.Size.Width;
            heightForm = this.Size.Height;
            stepNet = 10;
            stepShift = 1;

            toolStripLabelXW.Text = "xW=" + this.Size.Width;
            toolStripLabelYW.Text = "yW=" + this.Size.Height;

            toolStripComboBoxWidthPen.SelectedIndex = 2;
            toolStripComboBoxStepNet.SelectedIndex = 0;
            toolStripComboBoxShift.SelectedIndex = 0;

            graph = new Graph(picture.Width, picture.Height);
            sprite = new Sprite();
            currPens = new DataSprite.Pens(ColorTranslator.ToHtml(Color.Black), 3);
            currFigure = new MyLine(currPens, 1, 1, 1, 1);

            flagLine = false;

            picture.Image = graph.GetBitmap;
        }
Exemple #2
0
        private void picture_MouseDown(object sender, MouseEventArgs e)
        {
            if(e.Button == MouseButtons.Left)           // Когда нажимаем левую кнопку мыши
            {
                if(toolStripButtonLine.Checked)         // Если выбрана обычная линия
                {
                    currFigure = new MyLine(currPens, e.X, e.Y, 1, 1);  // То создаем новый объект линии
                }
                else
                if (toolStripButtonBrokenLine.Checked)   // Если выбрана ломанная линия
                {
                    if(flagLine)                         // То проверяем, начинаем или продолжаем рисовать ломаную
                    {
                        sprite.AddFigure(currFigure);    // Если продолжаем, то добавляем в список линию
                        RefreshBitMap();
                    }

                    currFigure = new MyLine(currPens, e.X, e.Y, 1, 1);  //  И создаем новую линию
                    flagLine = true;
                }
                else
                if (toolStripButtonRectangle.Checked)     // Если выбран прямоугольник
                {
                    currFigure = new MyRectangle(currPens, e.X, e.Y, 1, 1);
                }
                else
                if (toolStripButtonEllipse.Checked)       // Если выбран эллипс
                {
                    currFigure = new MyEllipse(currPens, e.X, e.Y, 1, 1);
                }
            }

            if(e.Button==MouseButtons.Right && flagLine)   // Когда нажимаем правую кнопку мыши
            {
                flagLine = false;                          // Прекращаем рисовать ломаные линии
                graph.Clear();
                RefreshBitMap();                           // Перерисовываем
            }
        }
Exemple #3
0
 /// <summary>
 /// Добавляет фигуру в спрайт
 /// </summary>
 /// <param name="figure"></param>
 public void AddFigure(Figure figure)
 {
     figures.Add(figure);
 }