如何将两个精灵纹理统一比较



我需要比较两个精灵纹理,以了解这两个精灵是否属于同一图像。在这里,这些纹理是从url加载的。提前谢谢。

以下是获取精灵纹理的示例代码:

WWW imageLink = new WWW(imageUrl);
var spriteTexture = imageLink.texture;

在我的案例中,同一张图片有两个不同的url。一旦加载了url,就需要识别那些属于同一图像的纹理。请提出任何想法。

没有简单的util来比较这两种纹理,但幸运的是,编写一种纹理很容易。Texture2D.GetPixels((的方法将为您提供一个Color[]数组,该数组表示像素颜色的平面2d数组。每行像素将从底部到顶部依次放置。比较这两个数组应该可以证明这两个纹理是相同的。我试过这个代码:

private bool CompareTexture (Texture2D first, Texture2D second)
{
Color[] firstPix = first.GetPixels();
Color[] secondPix = second.GetPixels();
if (firstPix.Length!= secondPix.Length)
{
return false;
}
for (int i= 0;i < firstPix.Length;i++)
{
if (firstPix[i] != secondPix[i])
{
return false;
}
}
return true;
}

有了你的代码,你只需要调用:

WWW imageLink = new WWW(imageUrl1); //first image URL
WWW imageLink2 = new WWW(ImageUrl2); //second image URL
if (CompareTexture(imageLink.texture, imageLink2.texture) {
....
}

比较两种纹理。

最新更新