private void btnResize_Click(object sender, RoutedEventArgs e) { Parallel.ForEach(resizeableFiles, (current) => { ResizeMethods.ResizeStandart(current.FilePath, current.ResizeQuality); }); }
//кнопка выбора пути private void btnOpenPath_Click(object sender, RoutedEventArgs e) { var dialog = new CommonOpenFileDialog(); dialog.IsFolderPicker = true; dialog.AddToMostRecentlyUsedList = false; dialog.AllowNonFileSystemItems = false; dialog.EnsureFileExists = true; dialog.EnsurePathExists = true; dialog.EnsureReadOnly = false; dialog.EnsureValidNames = true; dialog.Multiselect = false; dialog.ShowPlacesList = true; if (dialog.ShowDialog() == CommonFileDialogResult.Ok) { txbPath.Text = dialog.FileName; resizePath = dialog.FileName; string[] filePaths = Directory.GetFiles(resizePath, "*.jp*", SearchOption.AllDirectories); //список файлов всех изображений resizeableFiles = ResizeMethods.GetResizeableFiles(filePaths, maxFileSize); //список файлов, подлежащих ресайзу int range1 = resizeableFiles.Where(p => p.FileSize >= range11 && p.FileSize <= range12).Count(); int range2 = resizeableFiles.Where(p => p.FileSize >= range21 && p.FileSize <= range22).Count(); int range3 = resizeableFiles.Where(p => p.FileSize >= range31 && p.FileSize <= range32).Count(); int range4 = resizeableFiles.Where(p => p.FileSize >= range41 && p.FileSize <= range42).Count(); int range5 = resizeableFiles.Where(p => p.FileSize >= range51 && p.FileSize <= range52).Count(); int range6 = resizeableFiles.Where(p => p.FileSize >= range61 && p.FileSize <= range62).Count(); labelFilesTotal.Content = string.Format("Всего файлов в указанной директории : \t{0}", filePaths.Length); labelFilesResizeable.Content = string.Format("Всего файлов размером более {0} Кб : \t{1}", maxFileSize, resizeableFiles.Count); labelRange1.Content = string.Format("Файлов размером от {0} Кб до {1} Кб : \t{2}", range11, range12, range1); labelRange2.Content = string.Format("Файлов размером от {0} Кб до {1} Кб : \t{2}", range21, range22, range2); labelRange3.Content = string.Format("Файлов размером от {0} Кб до {1} Кб : \t{2}", range31, range32, range3); labelRange4.Content = string.Format("Файлов размером от {0} Кб до {1} Кб : \t{2}", range41, range42, range4); labelRange5.Content = string.Format("Файлов размером от {0} Кб до {1} Кб : \t{2}", range51, range52, range5); labelRange6.Content = string.Format("Файлов размером от {0} Кб до {1} Кб : \t{2}", range61, range62, range6); } }