C#XNA快速像素加载

时间:2011-11-10 22:24:35

标签: c# xna load pixel

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

    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 个答案:

答案 0 :(得分:1)

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

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

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

使用它们,您可以将事物渲染为纹理,然后可以在屏幕上显示。这几乎肯定是最快,最正确的方式。

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