Как сохранить картинку из Image в заданный каталог в WPF, используя SaveFileDialog?

470
04 сентября 2017, 04:15
string FilePath = openFileDialog1.FileName;
Image1.Source = new BitmapImage(new Uri(FilePath));
string WayToSave = "D:\\3й семестр\\c#\first_lab\\WpfApp1\\WpfApp1\\Posters.jpg";
saveFileDialog1.FileName = WayToSave;
Answer 1

Похоже, что вы не до конца понимаете назначение диалогов открытия и сохранения файлов.

Эти диалоги, в вашем случае SaveFileDialog, предназначены для получения корректного полного имени файла, или списка файлов, в случае множественного выбора в OpenFileDialog. Также они позволяют получить подтверждение пользователя, перед выполнением чтения или записи.

Непосредственно чтение и запись в файлы производится обычным способом, с помощью методов статического класса System.IO.File или потока System.IO.FileStream.

В документации пример использования оказался не очень хорошим, поэтому, чтобы стало понятнее, дополню исходный пример непосредственно записью:

// Настраиваем параметры диалога
Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
dlg.FileName = "Document"; // Имя по-умолчанию
dlg.DefaultExt = ".text"; // Расширение по-умолчанию
dlg.Filter = "Text documents (.txt)|*.txt"; // Фильтр по расширениям
// Показываем диалог пользователю
Nullable<bool> result = dlg.ShowDialog();
// Обработка результата работы диалога
if (result == true)
{
    // Получаем из диалога полное имя файла
    string filename = dlg.FileName;
    //Данные для записи. Тут для примера, это должно быть за пределами данного кода
    string someText = "qwertyuiopasdfghjklzxcvbnm";
    // Сохраняем someText в файле, с полученным из диалога, именем
    File.WriteAllText(filename, someText);
}

Работа с диалогами, хорошо показана в примерах для диалогов WinForms. Разумеется придется адаптировать код примеров под целевую платформу.

READ ALSO
Таймер js внутри цикла

Таймер js внутри цикла

Есть функция, которая отрисовывает график по полученному массиву с помощью AJAX

508
Чекбоксы и скрытые названия в заголовки

Чекбоксы и скрытые названия в заголовки

Есть 6 чекбоксовКаждый чекбокс имеет скрытые строки

472
Не могу обработать кириллицу

Не могу обработать кириллицу

Использую Nodejs для загрузки валют с центробанка

468
AngularJS querySelector не работает с ng-repeat

AngularJS querySelector не работает с ng-repeat

Помогите понять, почему этот код не работает:

513