2010-08-30 99 views
2

为什么在使用以下代码每隔20毫秒采取一次屏幕截图并通过加密连接将其传输至对等端时会收到黑屏? (我知道20毫秒的刷新速度有点快,但看起来并不是问题,处理器和网络可以很好地保持刷新率,问题在于位图完全显示为黑色。编辑:我现在知道这是一些还挺奇怪的网络问题,但现在的图像显示了模糊,好像它是一个糟糕的模拟信号。我已节目的截图这个职位http://imgur.com/y9rWb.png截图仅包含黑色像素

P2PStream thestream = (P2PStream)sender; 
     Bitmap mymap = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb); 
     Graphics screenshotGFX = Graphics.FromImage(mymap); 
     screenshotGFX.CopyFromScreen(new Point(),new Point(),new Size(Screen.PrimaryScreen.Bounds.Width,Screen.PrimaryScreen.Bounds.Height)); 
     Stream encryptedStream = networkLogic.getCryptoStream(thestream, true); 
     while (true) 
     { 
      try 
      { 
       screenshotGFX.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy); 
       mymap.Save(encryptedStream,System.Drawing.Imaging.ImageFormat.Png); 

      } 
      catch (Exception) 
      { 
       MessageBox.Show("A client has disconnected"); 
       break; 
      } 
      System.Threading.Thread.Sleep(20); 
     } 
+0

你想要打印屏幕?一般屏幕或一些电影? – 2010-08-30 21:12:44

+0

我想打印一般scr EEN。我没有查看任何视频游戏,DRM'd音乐或视频文件等。只是桌面和常规应用程序窗口。 – IDWMaster 2010-08-30 21:16:57

+0

这可能不适用于你;然而在这种情况下,我有机会在通过Citrix远程桌面连接到我的电脑后,剪贴板看起来损坏,图像显示全黑,只有重启才能解决问题。 – kbrimington 2010-08-30 21:20:41

回答

1

这恰好是与路由器(错误的XSF支持)的网络错误,并且现在已被修复。