2011-11-10 59 views
0

抱歉发送垃圾邮件的问题,但有没有从窗口(不是项目窗口)在XNA中加载像素的快速方法?我需要加载100像素宽度100像素高度,没有太多滞后。 (也许每10秒更新一次)。C#XNA快速像素加载

public void UpdateMap() 
    { 
     for (int y = 100; y < 120; y++) 
     { 
      for (int x = 1500; x < 1510; x++) 
      { 
       uint pixel = GetPixel(hdc, x, y); 
       colorlist.Add(new Color((int)(pixel & 0x000000FF), 
        (int)(pixel & 0x0000FF00) >> 8, 
        (int)(pixel & 0x00FF0000) >> 16)); 
      } 
     } 
    } 

回答

1

我不知道我理解你的问题。从方法名称,我收集到你想创建一个迷你地图的种类?或者是一个画中画的东西?

如果是这样,这应该是你应该让GPU处理的东西。你应该看看RenderTargets:

http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.rendertarget%28v=xnagamestudio.31%29.aspx

有了它们,你可以使事情到纹理,然后可以在屏幕上显示。这几乎肯定是最快和最正确的方式。

也许你可以用你想要完成的事情来更新你的问题,这样我可以给你一个更准确的答案?