Ich versuche, so zu tun, aber das Programm wirft diese Ausnahme:WPF: Wie kann ich ein Bild verwenden, während ich es zeige?
Eine nicht behandelte Ausnahme des Typs ‚System.IO.IOException‘ in mscorlib.dll aufgetreten
Zusätzliche Informationen: Der Prozess nicht auf die Datei zugreifen kann 'C: \ Benutzer \ Roy \ Dokumente \ Visual Studio 2010 \ Projekte \ Zuweisung3 \ Zuweisung3 \ bin \ Debug \ Images \ Chrysanthemum.jpg', da es von einem anderen Prozess verwendet wird.
Gibt es eine Möglichkeit, es zu benutzen, während es geöffnet ist?
Code:
if (imgAddMessage.Source != null)
{
BitmapImage src = (BitmapImage)imgAddMessage.Source;
if (!Directory.Exists("Images"))
{
Directory.CreateDirectory("Images");
}
FileStream stream = new FileStream("Images/" + imageName, FileMode.Create, FileAccess.ReadWrite);
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(src));
encoder.Save(stream);
stream.Close();
}
Können Sie Ihren Code schreiben - es würde helfen. – ChrisF
Können Sie eine Kopie des Bildes erstellen, um damit zu arbeiten? –
Ich nehme an, Sie erhalten die Ausnahme, wenn Sie versuchen, den 'FileStream' zu erstellen. Ist die Datei tatsächlich in einem anderen Programm geöffnet? Oder vielleicht in deinem Programm? Wenn ein Prozess eine Datei mit exklusivem Zugriff öffnet, können Sie nicht darauf zugreifen. –