Utilizzando C#, sto provando a caricare un file JPEG dal disco e convertirlo in un array di byte. Finora, non ho questo codice:Conversione di un'immagine JPEG in un array di byte - Eccezione COM
static void Main(string[] args)
{
System.Windows.Media.Imaging.BitmapFrame bitmapFrame;
using (var fs = new System.IO.FileStream(@"C:\Lenna.jpg", FileMode.Open))
{
bitmapFrame = BitmapFrame.Create(fs);
}
System.Windows.Media.Imaging.BitmapEncoder encoder =
new System.Windows.Media.Imaging.JpegBitmapEncoder();
encoder.Frames.Add(bitmapFrame);
byte[] myBytes;
using (var memoryStream = new System.IO.MemoryStream())
{
encoder.Save(memoryStream); // Line ARGH
// mission accomplished if myBytes is populated
myBytes = memoryStream.ToArray();
}
}
Tuttavia, mi eseguendo linea ARGH
dà il messaggio:
COMException è stata gestita. L'handle non è valido. (Eccezione da HRESULT: 0x80070006 (E_HANDLE))
Non credo che ci sia qualcosa di speciale per il file di Lenna.jpg
- ho scaricato da http://computervision.wikia.com/wiki/File:Lenna.jpg. Puoi dire cosa c'è di sbagliato nel codice sopra?