C# Unity Texture2D.getPixel与图像像素值不同
我目前正在尝试加载一个图像,并获得存在的每个像素颜色。我制作了一个100 x 100的图像,加载后得到了平坦的2d像素阵列C# Unity Texture2D.getPixel与图像像素值不同,c#,unity3d,C#,Unity3d,我目前正在尝试加载一个图像,并获得存在的每个像素颜色。我制作了一个100 x 100的图像,加载后得到了平坦的2d像素阵列 Sprite map = Resources.Load("Sprite/Screen/MapNewNet", typeof(Sprite)) as Sprite; Color[] colorMap = map.texture.GetPixels(); 图像中仅存在两种颜色。黑色(0,0,0)和绿色(51255,51) 我自己制作了这个图像,并确认绿色图像的颜色确实是51
Sprite map = Resources.Load("Sprite/Screen/MapNewNet", typeof(Sprite)) as Sprite;
Color[] colorMap = map.texture.GetPixels();
图像中仅存在两种颜色。黑色(0,0,0)和绿色(51255,51)
我自己制作了这个图像,并确认绿色图像的颜色确实是51255,51。通过paint&paint.net。
绿色在标准化值中相等(0.2,1,0.2)。
现在出于某种原因,当我加载图像并写出我得到的每个像素的颜色时:
对于黑色的:
RGBA(0.000, 0.000, 0.000, 1.000)
至于绿色的:
RGBA(0.192, 1.000, 0.192, 1.000)
绿色0.192*255等于48.96。。。我无法理解这一点。似乎图像压缩的质量太低了,在图像导入设置中,我将压缩更改为高质量,就这样做了