Ich verwende den folgenden Code versuchen, meine BitmapImage in ein Byte [] zu konvertieren, damit ich es in meiner MS SQL-Datenbank speichern kann.BitmapImage: Zugreifen auf geschlossene StreamSource
public static byte[] BufferFromImage(BitmapImage img)
{
if (img == null)
return null;
byte[] result = null;
using (Stream stream = img.StreamSource)
{
if (stream != null && stream.Length > 0)
{
using (BinaryReader br = new BinaryReader(stream))
{
result = br.ReadBytes((int)(stream.Length));
}
}
}
return result;
}
Leider ist dies nicht als img.StreamSource arbeitet angeordnet ist, wenn ich versuche, darauf zuzugreifen in der if-Anweisung in einer Ausnahme resultierenden „kann nicht angeordnet Datei zugreifen“.
Mein Ruf: BufferFromImage(imgLogo.Source as BitmapImage);
Wie kann ich das vermeiden?
Es scheint, Garbage Collection oder entsorgt werden, bevor das Verfahren vorbei. Könnten Sie den Code für frühere Arbeiten mit diesem BitmapImage veröffentlichen? –
@Dmitriy Reznik: Ich verwende DevExpress 'WPF ImageEdit Control dafür. Ich habe den Code hinzugefügt. – SeToY
Versuchen Sie, EditValue anstelle von Source zu verwenden. –