我正在尝试使用WP8中的蓝牙从我的设备上的应用程序发送图像,并在另一台设备上的应用程序中显示它。接收器有一个StreamSocket对象来读取数据,如下面的代码所示
await _dataReader.LoadAsync(4);
uint messageLen = (uint)_dataReader.ReadInt32();
await _dataReader.LoadAsync(messageLen);
string imageData _dataReader.ReadString(messageLen);然后,我必须将所有接收到的数据(图像)保存在设备上,然后从存储的数据创建一个流对象,将其提供给BitmapSource.SetSource(流)函数,以便能够在我的应用程序上显示此图像。
var image = new BitmapImage();
image.SetSource(stream);我所要做的就是不跳过这双重工作,直接将StreamSocket对象(从蓝牙连接)转换为Stream对象并生成BitmapSource图像。有没有办法做到这一点?
发布于 2013-07-15 17:12:13
Yo可以将接收到的数据存储在byte[]缓冲区中,然后从它创建流。尝试以下操作:
await _dataReader.LoadAsync(4);
uint messageLen = (uint)_dataReader.ReadInt32();
await _dataReader.LoadAsync(messageLen);
byte[] buffer = new byte[messageLen];
_dataReader.ReadBytes(buffer);
MemoryStream ms = new MemoryStream(buffer);
var image = new BitmapImage();
image.SetSource(ms);https://stackoverflow.com/questions/17645954
复制相似问题