/// <summary> Открыть папку с картинками для разметки. </summary> public void OpenFolderImage() { _folderDialog.Description = "Укажите папку с изображениями для рамзетки.\nВ ней будет создан файл проекта."; if (_folderDialog.ShowDialog() == DialogResult.Cancel) { return; } string path = _folderDialog.SelectedPath; filesDirectory = Directory.EnumerateFiles(path, "*.*", SearchOption.TopDirectoryOnly) .Where(s => s.EndsWith(".png") || s.EndsWith(".jpg") || s.EndsWith(".bmp") || s.EndsWith(".jpeg")); if (_imageForMarkup.ListImg.Count != 0) { _imageForMarkup.ListImg.Clear(); } foreach (var item in filesDirectory) { _imageForMarkup.AddImageInList(item, Path.GetFileName(item)); } _imageForMarkup.PathDirectoryImage = path; OnEnabledElement(); _imageForMarkup.ShowImg(); ChangeTextClass(); _log.AddMessage("Папка открыта."); }
/// <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("Проект загружен. Спасибо, что вернулись к работе!"); }