C# kullanarak, bir JPEG dosyasını diskten yüklemeyi ve bir bayt dizisine dönüştürmeyi deniyorum.Bir JPEG resmini bir bayt dizisine dönüştürme - COM istisnası
COMException işlenmeyen oldu:
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(); } }
Ancak çizgi
ARGH
yürütme bana mesaj veriyor: Şimdiye kadar bu kodu var. Sap geçersiz. ( HRESULT özel durum: 0x80070006 (E_HANDLE))
Ben dosyası Lenna.jpg
hakkında özel bir şey olduğunu düşünmüyorum - Ben http://computervision.wikia.com/wiki/File:Lenna.jpg indirmiş. Yukarıdaki kodda neyin yanlış olduğunu söyleyebilir misiniz?