1

目前,我正在使用这种方法来获取我的 Texture2D 的像素颜色

    Color[] pixelColours = new Color[MyTexture.Width*MyTexture.Height];
    MyTexture.GetData<Color>(pixelColours);
  1. 如您所见,我将每个像素的颜色存储在选项卡中。
  2. texture2D 非常大:1000 像素 x 1000 像素。
  3. 但我只需要获取 1 个像素的颜色,这意味着我存储了 999.999 个无用的其他像素。
  4. 像素在 Texture2D 上的位置正在移动,所以这段代码在 Update() 方法中。

有没有其他方法可以非常快地以低内存成本获得这只有 1 个像素?

4

1 回答 1

2

GetData 方法已重载,允许您指定起始像素以及要获取多少元素:http: //msdn.microsoft.com/en-us/library/bb197093.aspx

于 2013-02-09T16:30:14.307 回答