我正在收到byte[]
图像数据(来自网络摄像头源,通过网络传输)并希望将其显示在我的WPF图像控件中。 如果我将分辨率设置为160x120,我会看到一个很好的小图像被显示出来。 对于任何其他决议,虽然我看到虚无,没有,zilch,蹲。将Image.Source设置为有效数据时未显示图像
如果我将原始字节写入磁盘,我可以看到数据确实是一个有效的jpg图像。 只是为了确保它不是jpeg不兼容我已经用png和bmp编码/解码测试了它,并得到了相同的结果;仍然没有图像。
任何人都有一个明智的想法?
private bool OnImage(byte[] inJpg)
{
this.Dispatch(() =>
{
//File.WriteAllBytes("h:\\tmp\\test" + sImageNum++ + ".jpg", inJpg);
using (MemoryStream ms = new MemoryStream(inJpg))
{
BitmapDecoder decoder = new JpegBitmapDecoder(ms, BitmapCreateOptions.None, BitmapCacheOption.Default);
ImageRemoteVideo.Source = decoder.Frames[0];
}
}
);
}
如果你写的图像到磁盘,然后设置您的来源为指向该文件,而不是对其进行解码的情况发生?不是将其作为一种解决方案,而是将其作为解决问题的可能手段。你能告诉我们你的XAML吗?那里有什么新奇的东西? – 2012-03-15 20:26:34
XAML: <的ScrollViewer Grid.Row = “1” VerticalScrollBarVisibility = “自动” HorizontalScrollBarVisibility = “自动”> <图像弹力= “无” 名称= “ImageRemoteVideo”/> 的ScrollViewer> – Pygmy 2012-03-15 20:53:20
我只是试图创建将其UriSource设置为我写入磁盘的文件的BitmapImage,并将Image的源设置为该BitmapImage,然后工作正常。所以绝对不是图像/图像数据,设置图像的来源肯定会出错。 – Pygmy 2012-03-15 21:02:24