在 texture2D 中获取给定坐标中的颜色值
getting color value in given coordinates in a texture2D
我在谷歌上搜索了很长时间,但只找到了关于如何以其他方式执行此操作的回复,即根据颜色查找坐标。
这可能已在某处得到回答,但它被隐藏在所有其他回复之下。
--
因此,作为为我的游戏制作关卡编辑器的一种简单方法,我让游戏加载纹理,然后循环遍历它的像素。纹理中的不同颜色相当于不同的对象。
其他一切正常,但我无法找到如何获取给定坐标中像素的颜色。
基本上您需要做的是使用 Texture2D.GetData 方法
将纹理颜色信息存储到一维数组中
var colorTable = new Color[texture.Width*texture.Height];
texture.GetData(colorTable);
然后要访问特定像素(比如 X、Y),您需要做的就是像这样从数组中获取其对应的颜色
var pixelColor=colorTable[texture.Width * Y + X];
我在谷歌上搜索了很长时间,但只找到了关于如何以其他方式执行此操作的回复,即根据颜色查找坐标。
这可能已在某处得到回答,但它被隐藏在所有其他回复之下。
--
因此,作为为我的游戏制作关卡编辑器的一种简单方法,我让游戏加载纹理,然后循环遍历它的像素。纹理中的不同颜色相当于不同的对象。
其他一切正常,但我无法找到如何获取给定坐标中像素的颜色。
基本上您需要做的是使用 Texture2D.GetData 方法
将纹理颜色信息存储到一维数组中var colorTable = new Color[texture.Width*texture.Height];
texture.GetData(colorTable);
然后要访问特定像素(比如 X、Y),您需要做的就是像这样从数组中获取其对应的颜色
var pixelColor=colorTable[texture.Width * Y + X];