C # XNA Быстрая загрузка пикселей - PullRequest
0 голосов
/ 11 ноября 2011

Извините за спам, но есть ли быстрый способ загрузки пикселей в 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 Ответ

1 голос
/ 11 ноября 2011

Я не уверен, что понимаю ваш вопрос.Из названия метода я понял, что вы хотите создать своего рода мини-карту?Или что-то типа «картинка в картинке»?

Если это так, это должно быть то, что вы должны позволить обработчику графического процессора.Вы должны изучить RenderTargets:

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

С их помощью вы можете визуализировать вещи в текстуру, которую затем сможете отобразить на экране.Это почти наверняка будет самый быстрый и самый правильный способ.

Может быть, вы могли бы обновить свой вопрос, что именно вы хотите достичь, чтобы я мог дать вам более точный ответ?

...