将varbinary转换为silverlight中的图像(第2部分)

时间:2011-11-26 16:42:20

标签: c# silverlight image byte varbinary

我正在尝试将varbinary转换为我的silverlight项目中的图像。

首先,我在我的服务中从我的数据库中获取二进制文件。

    [OperationContract]
    public byte[] getAfbeelding(int id)
    {

        var query = (from p in dc.Afbeeldings
                     where p.id == id
                     select p.source).Single();

        byte[] source = query.ToArray();

然后我尝试使用StackOverflow上的代码将varbinary转换为图像:

    public static string convertToImage(byte[] source)
    {
        MemoryStream ms = new MemoryStream(source);
        Image img = Image.FromStream(ms);
        return img.Source.ToString();
    }

但事实证明,银光Image没有.FromStream,我尝试了this thread中找到的所有示例,但其中没有一个在银光中工作。

'System.Windows.Controls.Image' does not contain a definition for 'FromStream'

所以是的,我有点失落,不知道该怎么做。 有关如何在Silverlight中执行此操作的任何想法?

2 个答案:

答案 0 :(得分:1)

你应该看看WriteableBitmap。

codepelexNuget

上免费提供了一套非常好的扩展程序

答案 1 :(得分:1)

你几乎是对的。您应该只需要以下代码:

var bitmapImage = new BitmapImage();
bitmapImage.SetSource(new MemoryStream(imageData));
newImage.Source = bitmapImage;

其中imageData的类型为byte[],而newImage是您要更新的图片。