我想要做的是循环通过图片检查特定颜色的像素并对它们进行计数。这对我的项目来说很难。统一比较getpixel和颜色
所以问题是,即使颜色相同,比较GetPixel和Color也不会返回true。
我用一种颜色的方形纹理测试了它,并且我调试记录了GetPixel的值,它是:“RGB(0.098,0.451,0.000,1.00)”,这是我寻找的颜色,但它仍然返回假。
另外我在Unity(UnityScript)中使用JavaScript,我没有错误。 RGB值以百分比表示,是的,我可以读取纹理。
这里是代码,请帮助我。
#pragma strict
public static function PixelMagic()
{
var slika:Texture2D = Resources.Load("backgr",Texture2D);
var pixel_color:Color = new Color(0f,0f,0f,0f);
var green:Color = new Color(0.098f,0.451f,0f,1f);
var hit = 0;
for(var x=0; x<slika.width; x++)
{
for(var y=0; y<slika.height; y++)
{
pixel_color = slika.GetPixel(x,y);
if(green==pixel_color)
{
hit++;
}
}
}
Debug.Log(hit);
Debug.Log(pixel_color);
}
对不起,这么晚,我不在家。你对色彩的不正确性是正确的。它有10多个小数,我没有意识到。所以知道我解决了我的问题。谢谢。 – user3015088