我想在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