[Silverlight] 如何開啟視訊後擷取影像並存檔
2010/11/18
繼上一篇 [Silverlight] 如何開啟視訊後擷取影像
看來Silverlight 之視訊三部曲要接近尾聲了…
最後的目的就是要存檔…
我在這篇 做完物件快照(snapshot)後,將圖片存檔 寫過如何存檔..
今天換另一種寫法來寫成JPG 檔案
延續上一篇
多了一個 btnSave 可以將 imgShot 的圖儲存起來…
這一次我們要用 IMAGETOOLS 這 library
首先下載後解開壓縮..
必須在專案中 先include
SL4\ImageTools.dll
SL4\ImageTools.IO.Jpeg.dll
SL4\ImageTools.Utils.dll
使得專案的reference 長這付德性..
其中還有 png,gif,bmp 當然 這範例我是用jpg …
方法差不多可自行選擇編碼方式..
記得要using
using ImageTools; using ImageTools.IO.Jpeg;
接下來我們來看 btnSave 的 Click 事件..
private void btnSave_Click(object sender, RoutedEventArgs e) { var dlg = new SaveFileDialog(); dlg.DefaultExt = ".jpg"; dlg.Filter = "JPG File|*.jpg"; if(dlg.ShowDialog() == true) { Stream stream = dlg.OpenFile(); var jpgEncoder = new JpegEncoder(); jpgEncoder.Encode(imgShot.ToImage(), stream); //這一行很重要如果沒有下這一行 //必須要等到Silverlight 把這一個檔案給釋放才可以被其他軟體給開啟 stream.Close(); } }
其中有一個小訣竅就是
stream.Close() 一定要下如果不下..檔案會被鎖住…
直到程式生命週期結束,他回收後才會被釋放…
這點是比較要注意的..
讚一下:
預覽:
下載:
標籤:
Silverlight
|
This entry was posted on 下午6:49
and is filed under
Silverlight
.
You can follow any responses to this entry through
the RSS 2.0 feed.
You can leave a response,
or trackback from your own site.
訂閱:
張貼留言 (Atom)
0 意見:
張貼留言