Example #1
0
        //Конструктор формы
        public frmMain()
        {
            InitializeComponent();

            //Словарь для сохранения битмапов для разных вкладок
            pictures = new Dictionary <int, Bitmap>();

            //Создание битмапа для первой вкладки
            var currPicture = new Bitmap(cDrawField.Width, cDrawField.Height);

            picturesCounter++;
            cDrawField.Image          = currPicture;
            pictures[picturesCounter] = currPicture;

            //Загрузка в Graphics Image из PictureBox
            graphics = Graphics.FromImage(cDrawField.Image);
            graphics.Clear(Color.White);

            //Словарь радио-кнопок для вкладок
            tabButtons = new Dictionary <int, RadioButton>();

            //Создание кнопки для первой вкладки
            var tab = new RadioButton();

            tabsPanel.Controls.Add(tab);
            tab.Appearance = Appearance.Button;
            tab.Checked    = true;
            tab.Width      = 150;
            tab.Height     = 26;
            tab.Margin     = new Padding(0, 1, 10, 1);
            tab.Name       = "tabBtn" + picturesCounter;
            tab.Text       = "New picture";

            tabButtons[picturesCounter] = tab;
            tab.Click += tabOnClick;
            activeTab  = 1;

            //Настройка скролла для панели вкладок
            tabsPanel.VerticalScroll.Value       = tabsPanel.Height;
            tabsPanel.VerticalScroll.SmallChange = tabsPanel.Height;

            toolPanelBtn_Line.Checked = true;

            currentShape          = new Line(colorDialog_Line.Color, (float)selectLineWidth.Value);
            shapeInProgress       = false;
            preShowShape          = new Line(colorDialog_Line.Color, (float)selectLineWidth.Value);
            preShowShape.showMode = Shape.TShowMode.PRE_SHOW;
            preShowBuffer         = new Bitmap(cDrawField.Image);

            tabShapesList = new Dictionary <int, ShapesList>();
            tabShapesList[picturesCounter] = new ShapesList();

            lblActivePlugin.Text = "";
        }
Example #2
0
        //Создание новой картинки
        private void menuStripItemFile_Create_Click(object sender, EventArgs e)
        {
            //Сохранение текущего поля рисования
            cancelDrawing();
            pictures[activeTab] = new Bitmap((Bitmap)cDrawField.Image);

            //Корректировка размеров области рисования
            cDrawField.Width  = cPanelDrawField.Width;
            cDrawField.Height = cPanelDrawField.Height;

            //Создание нового битмапа
            var currPicture = new Bitmap(cDrawField.Width, cDrawField.Height);

            //Сохранение в словарь созданного битмапа
            picturesCounter++;
            cDrawField.Image          = currPicture;
            pictures[picturesCounter] = currPicture;

            //Загрузка в Graphics Image из PictureBox
            graphics = Graphics.FromImage(cDrawField.Image);
            graphics.Clear(Color.White);

            //Создание кнопки новой вкладки
            var tab = new RadioButton();

            tabsPanel.Controls.Add(tab);
            tab.Appearance = Appearance.Button;
            tab.Checked    = true;
            tab.Width      = 150;
            tab.Height     = 26;
            tab.Margin     = new Padding(0, 1, 10, 1);
            tab.Name       = "tabBtn" + picturesCounter;
            tab.Text       = "New picture";

            tabButtons[picturesCounter] = tab;
            tab.Click += tabOnClick;
            activeTab  = picturesCounter;

            preShowBuffer = new Bitmap(cDrawField.Image);

            tabShapesList[picturesCounter] = new ShapesList();
            //Сброс фокуса
            btnResetTab.Focus();
        }
Example #3
0
        //Открытие картинки из файла
        private void menuStripItemFile_Open_Click(object sender, EventArgs e)
        {
            cancelDrawing();

            if (openFileDialog.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }

            // получаем выбранный файл
            string filename = openFileDialog.FileName;

            cDrawField.Image = Image.FromFile(filename);

            var currPicture = new Bitmap(Math.Max(cDrawField.Image.Width, cDrawField.Width), Math.Max(cDrawField.Image.Height, cDrawField.Height));

            picturesCounter++;
            currPicture = (Bitmap)cDrawField.Image;
            pictures[picturesCounter] = currPicture;

            graphics = Graphics.FromImage(cDrawField.Image);

            var tab = new RadioButton();

            tabsPanel.Controls.Add(tab);
            tab.Appearance = Appearance.Button;
            tab.Checked    = true;
            tab.Width      = 150;
            tab.Height     = 26;
            tab.Margin     = new Padding(0, 1, 10, 1);
            tab.Name       = "tabBtn" + picturesCounter;
            tab.Text       = filename;

            tabButtons[picturesCounter] = tab;
            tab.Click += tabOnClick;
            activeTab  = picturesCounter;
            cDrawField.Refresh();

            tabShapesList[picturesCounter] = new ShapesList();
            //Сброс фокуса
            btnResetTab.Focus();
        }