2013-02-09 5 views
1

В настоящее время я использую этот метод, чтобы получить цвет моей Texture2Dполучить цвет только 1 пиксель из Texture2D

Color[] pixelColours = new Color[MyTexture.Width*MyTexture.Height]; 
    MyTexture.GetData<Color>(pixelColours); 
  1. Как вы можете видеть, я магазин каждого пикселей, пиксели цвета в вкладка.
  2. Текстура2D довольно огромная: 1000 пикселей x 1000 пикселей.
  3. Но мне нужно только получить цвет 1 пиксель, это означает, что я храню 999.999 бесполезных других пикселей.
  4. Положение пикселя на Texture2D перемещается, поэтому этот код находится в методе Update().

Есть ли другие способы получить этот 1 пиксель очень быстро с низкой стоимостью памяти?

ответ

2

Метод GetData перегружен и позволяет указать начальный пиксель и количество элементов: http://msdn.microsoft.com/en-us/library/bb197093.aspx.

+0

Это работает. Мне просто нужно создать 'Color [] pixelColor = new Color [1]'. Большое спасибо. – Sharpnel

Смежные вопросы