我正在尝试为WP7创建自己的远程桌面。我有一个WCF服务,它返回目标机器屏幕上的图像。在WP7上不断改变图像的最佳性能方式是什么?
这里的WCF服务器代码:
// Method to load desktop image
Bitmap image = new Bitmap(ViewSize.Width, ViewSize.Height);
Graphics g = Graphics.FromImage(image);
g.CopyFromScreen(Position.X, Position.Y, 0, 0, ViewSize);
g.Dispose();
return image;
// Convert image to byte[] which is returned to client
using (MemoryStream ms = new MemoryStream())
{
Bitmap image = screenGrabber.LoadScreenImage();
image.Save(ms, ImageFormat.Jpeg);
imageArray = ms.ToArray();
}
这里是为WP7客户端代码:
MemoryStream stream = new MemoryStream(data);
BitmapImage image = new BitmapImage();
image.SetSource(stream);
BackgroundImage.Source = image;
和backgroundImage变量是一个Image控件。
我在短时间内注意到模拟器上的这个冻结,并最终从OutOfMemoryException中崩溃。这已经非常慢了(图像显示比屏幕上的时间迟了半秒钟),并且我想知道是否有更好/更快的方式来执行此操作?任何帮助都会很棒。提前致谢。
做过桌面远程合理的理解哇,我不得不说我忘了这件事感觉很愚蠢。万分感谢。 – ProgrammerAl 2011-02-25 19:06:40