我有一段代碼,我一直在從WPFMediaKit的VideoCaptureElement捕獲圖像。它工作得很好!從WPFMediaKit捕獲byte []圖像數據
bmp.Render(videoElement);
BitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(bmp));
string now = DateTime.Now.Year + "" + DateTime.Now.Month + "" + DateTime.Now.Day + "" + DateTime.Now.Hour + "" + DateTime.Now.Minute + "" + DateTime.Now.Second;
string filename = now + "pic.jpg";
FileStream fstream = new FileStream(filename, FileMode.Open);
encoder.Save(fstream);
fstream.Close();
雖然我面臨的問題是我需要現在得到一個byte []數據而不是保存文件。目前,我有一個開放的FileDialog框和一個FILESTREAM這樣做:
if (File.Exists(FileLocation))
{
//Retreave image from file and binary it to Object image
using (FileStream stream = File.Open(FileLocation, FileMode.Open))
{
BinaryReader br = new BinaryReader(stream);
byte[] data = br.ReadBytes(maxImageSize);
image = new Image(dlg.SafeFileName, data, fileSize);
}
}
我希望做的是採取捕獲和,而不是保存文件時,我希望把它作爲一個字節[]類型。有沒有辦法將RenderTargetBitmap或BitmapEncoder轉換爲byre []數組?或者可能我正在考慮將它們轉換爲內存流,以便二進制讀取器可以使用它?
謝謝!
你想的原始數據,或內存(有頭)bmp文件? – 2013-06-28 16:53:28