.NET 3.x Правильное использование Image - C#
Формулировка задачи:
У меня есть файл 123.jpg на диске и я постоянно его меняю: удаляю старый и новый через WebClient загружаю. Так вот, когда я пытаюсь удалить старую фотку для загрузки новой, мне пишет "Ваша фотка используется другим процессом". Подскажите, как можно использовать фото, чтобы оно не было связано с процессом?
P.S. backgroundWorker1 работает несколько раз в течении процесса (в зависимости от действий пользователя), он загружает фото с разных url. После присвоения panel1 значения программа не дает удалить фото для новой загрузки
backgroundWorker1_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) { try { File.Delete("C:\\123.jpg"); } catch (FileNotFoundException) { } WebClient wc = new WebClient(); wc.DownloadFile(url, "C:\\123.jpg"); } private void backgroundWorker1_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e){ panel1.BackgroundImage = Image.FromFile("C:\\123.jpg"); }
Решение задачи: «.NET 3.x Правильное использование Image»
textual
Листинг программы
private void backgroundWorker1_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e){ MemoryStream mstream = new MemoryStream(File.ReadAllBytes(@"C:\123.jpg")); panel1.BackgroundImage = Image.FromStream(mstream); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д