我想在Silverlight和WCF服務之間來回傳遞圖像的某種表示形式。如果可能的話,我想通過System.Windows.Media.Imaging.BitmapImage
,因爲這意味着客戶端不必進行任何轉換。我可以從Silverlight中的BitmapImage獲取一個字節[]嗎?
然而,在某些時候,我需要這個圖像存儲在數據庫中,這意味着圖像表示必須能夠轉換和從byte[]
。我可以通過讀取陣列分成MemoryStream
和使用BitmapImage.SetSource()
創建從一個byte[]
BitmapImage
。但我似乎無法找到轉換方式 - 從BitmapImage
到byte[]
。我在這裏錯過了很明顯的東西嗎
如果它有助於在所有的轉換代碼可以在服務器上運行,即,它並不需要Silverlight的安全。
你有沒有得到一個解決方案? – 2010-05-10 14:00:04
不是。圖像最初是通過用戶在打開的對話框中選擇它加載的。解決方法是訪問openDialog.File.OpenRead,從該流創建BinaryReader,然後在讀取器上調用ReadBytes()以獲取字節[]。我一直沒有跟上Silverlight 4,現在可能有一個解決方案。 – goric 2010-05-25 02:20:36