Exemplo n.º 1
0
        /// <summary> Создать контрол управления.</summary>
        public SettingControl(
            ImageForMarkup imageForMarkup,
            Log log)
        {
            InitializeComponent();

            Dock = DockStyle.Fill;

            _imageForMarkup = imageForMarkup;
            _log            = log;
        }
Exemplo n.º 2
0
        public VideoPanel(
            ImageForMarkup imageForMarkup)
        {
            InitializeComponent();

            Dock = DockStyle.Fill;

            _imageForMarkup = imageForMarkup;

            _imageForMarkup.OnImageChange += OnImageChange;
        }
Exemplo n.º 3
0
        /// <summary> Сохранить проект. </summary>
        public static void Save(ImageForMarkup markup, Log log)
        {
            XElement element;

            XDocument xdoc    = new XDocument();
            XElement  project = new XElement("MarkupClassifierProjectSetting");

            element = new XElement("PathDirectoryImage", markup.PathDirectoryImage);
            project.Add(element);

            element = new XElement("CountImage", markup.CountImage);
            project.Add(element);

            element = new XElement("CurerntIamge", markup.CurerntIamge);
            project.Add(element);

            element = new XElement("ImageList");
            XElement   ximage;
            XElement   xid;
            XAttribute xAttribute;

            foreach (var image in markup.ListImg)
            {
                xid = new XElement("Image");

                xAttribute = new XAttribute("id", markup.ListImg.IndexOf(image));
                xid.Add(xAttribute);

                ximage = new XElement("PathImage", image.Path);
                xid.Add(ximage);

                ximage = new XElement("NameImage", image.Name);
                xid.Add(ximage);

                ximage = new XElement("IdClassImage", image.IdClass);
                xid.Add(ximage);

                element.Add(xid);
            }
            project.Add(element);


            xdoc.Add(project);

            xdoc.Save($"{markup.PathDirectoryImage}\\project.xml");

            log.AddMessage("Проект сохранен. Возвращяйтесь скорее, чтобы разметить еще пару картинок.");
        }
Exemplo n.º 4
0
        public MainForm(
            SettingControl setting,
            VideoPanel video,
            LogControl log,
            Log logtext,
            ImageForMarkup image)
        {
            InitializeComponent();

            _settingControl = setting;
            _videoPanel     = video;
            _log            = log;
            _logText        = logtext;
            _imageForMarkup = image;

            _pnlSetting.Controls.Add(_settingControl);
            _pnlFrame.Controls.Add(_videoPanel);
            _pnlLog.Controls.Add(_log);
        }
Exemplo n.º 5
0
        /// <summary> Загруить проект. </summary>
        public static void Load(ImageForMarkup markup, Log log, string path)
        {
            XDocument doc = XDocument.Load(path);

            markup.PathDirectoryImage = doc.Root.Element("PathDirectoryImage").Value;
            markup.CurerntIamge       = int.Parse(doc.Root.Element("CurerntIamge").Value);


            var filesDirectory = Directory.EnumerateFiles(markup.PathDirectoryImage, "*.*", SearchOption.TopDirectoryOnly)
                                 .Where(s => s.EndsWith(".png") || s.EndsWith(".jpg") || s.EndsWith(".bmp") || s.EndsWith(".jpeg"));

            if (markup.ListImg.Count != 0)
            {
                markup.ListImg.Clear();
            }

            foreach (var item in filesDirectory)
            {
                markup.AddImageInList(item, Path.GetFileName(item));
            }

            if (markup.CountImage != int.Parse(doc.Root.Element("CountImage").Value))
            {
                MessageBox.Show("Ранее в этой папке было другое колличество картинок. Могут быть проблемы. Проект может быть открыт не корректно.",
                                "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }


            foreach (XElement imageElement in doc.Root.Element("ImageList").Elements("Image"))
            {
                XAttribute idAttribute    = imageElement.Attribute("id");
                XElement   idClassElement = imageElement.Element("IdClassImage");

                if (idAttribute != null && idClassElement != null)
                {
                    markup.ListImg[int.Parse(idAttribute.Value)].IdClass = int.Parse(idClassElement.Value);
                }
            }

            log.AddMessage("Проект загружен. Спасибо, что вернулись к работе!");
        }