.NET 3.x Правильное использование Image - C#

Узнай цену своей работы

Формулировка задачи:

У меня есть файл 123.jpg на диске и я постоянно его меняю: удаляю старый и новый через WebClient загружаю. Так вот, когда я пытаюсь удалить старую фотку для загрузки новой, мне пишет "Ваша фотка используется другим процессом". Подскажите, как можно использовать фото, чтобы оно не было связано с процессом?
Листинг программы
  1. backgroundWorker1_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
  2. {
  3. try
  4. {
  5. File.Delete("C:\\123.jpg");
  6. }
  7. catch (FileNotFoundException) { }
  8. WebClient wc = new WebClient();
  9. wc.DownloadFile(url, "C:\\123.jpg");
  10. }
  11. private void backgroundWorker1_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e){
  12. panel1.BackgroundImage = Image.FromFile("C:\\123.jpg");
  13. }
P.S. backgroundWorker1 работает несколько раз в течении процесса (в зависимости от действий пользователя), он загружает фото с разных url. После присвоения panel1 значения программа не дает удалить фото для новой загрузки

Решение задачи: «.NET 3.x Правильное использование Image»

textual
Листинг программы
  1. private void backgroundWorker1_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e){
  2.     MemoryStream mstream = new MemoryStream(File.ReadAllBytes(@"C:\123.jpg"));
  3.     panel1.BackgroundImage = Image.FromStream(mstream);
  4. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы