Quando provo a salvare un BitmapSource che ho caricato in precedenza, viene lanciato un System.IO.IOException
che indica che un altro processo sta accedendo a quel file e non è possibile aprire il filestream.Carica un BitmapSource e salva usando lo stesso nome in WPF -> IOException
Se salvo solo il caricamento precedente, tutto funziona correttamente.
Il codice di carico:
BitmapImage image = new BitmapImage();
image.BeginInit();
image.UriSource = uri;
if (decodePixelWidth > 0)
image.DecodePixelWidth = decodePixelWidth;
image.EndInit();
il codice risparmio:
using (FileStream fileStream = new FileStream(Directory + "\\" + FileName + ".jpg", FileMode.Create))
{
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create((BitmapImage)image));
encoder.QualityLevel = 100;
encoder.Save(fileStream);
}
Sembra che dopo il caricamento dei dati di immagine, il file è ancora bloccato una non può mai essere sovrascritto mentre l'applicazione che ha aperto è ancora in esecuzione. Qualche idea di come si possa risolvere? Grazie mille per qualsiasi soluzione.
Hai preso i commenti degli altri, non hai rivoluzionato nessuno, hai creato una soluzione derivata che hai postato come risposta e ti sei dato il voto di risposta con approvazione Poster? – hughdbrown
Sono nuovo nello stackoverflow. Come puoi vedere Quindi non posso invitare altri fino a quando non avrò una reputazione di 15. E poiché gli altri gentilmente hanno fornito buoni suggerimenti, ma nessuna vera soluzione per le persone che hanno lo stesso problema, ho fornito la risposta io stesso come risultato della mia stessa ricerca. Problema? – sdippl