【问题标题】:Byte array from Bitmap to BitmapImage in without using class Bitmap C#在不使用类 Bitmap C# 的情况下从 Bitmap 到 BitmapImage 的字节数组
【发布时间】:2016-07-31 16:50:50
【问题描述】:

我正在做一个应用程序,我在 PC 上运行的服务器从网络摄像头拍摄照片,然后使用 WCF 将其发送到我的 Windows Phone 8。

从网络摄像头拍照的方法返回Bitmap,但是Windows Phone不知道Bitmap,所以我使用这个将Bitmap转换为byte[](图像是来自网络摄像头的Bitmap):

...
ImageConverter converter = new ImageConverter();
return (byte[])converter.ConvertTo(image, typeof(byte[]));

现在我需要在不使用类 Bitmap 的情况下,在 Windows Phone 客户端从接收到的 byte[] 制作 BitmapImage。怎么做?或者是否有其他解决方案如何在 XAML <Image Name="image_video" /> 中表示此字节 [],而无需在 Windows Phone 8 上使用 int Bitmap 和 BitmapImage?

【问题讨论】:

    标签: c# arrays image bitmap


    【解决方案1】:

    Windows phone 使用 BitmapImage 代替 Bitmap。您可以像这样从 byteArray 构建 BitmapImage 对象:

    using (MemoryStream memoryStream = new MemoryStream(yourByteArray))
                {
                    BitmapImage bmpImage = new BitmapImage();
                    bmpImage.BeginInit();
                    bmpImage.StreamSource = memoryStream;
                    bmpImage.EndInit();
                    return bmpImage;
                }
    

    【讨论】:

    • Windows Phone 8 BitmapImage 没有 BeginInit、EndInit 和 StreamSource 方法,所以无法使用...
    • 好的,我解决了。而不是 BeginInit、StreamSource 和 EndInit,您使用 SetSource 并且它有效!谢谢!
    猜你喜欢
    • 2021-10-20
    • 2012-06-11
    • 1970-01-01
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    • 2016-07-07
    • 2010-10-02
    • 2011-09-22
    相关资源
    最近更新 更多