Unity Texture2D.getPixel与图像像素值

时间:2017-11-28 16:53:06

标签: c# unity3d

我目前正在尝试加载图片并获取存在的每种像素颜色。我制作了一个100 x 100的图像,我加载并获得了展平的2d像素阵列。

Sprite map = Resources.Load("Sprite/Screen/MapNewNet", typeof(Sprite)) as Sprite; 
Color[] colorMap = map.texture.GetPixels();

在图像中只存在2种颜色。黑色(0,0,0)和绿色(51,255,51) 我自己制作了图像,并确认绿色图像的颜色确实是51,255,51。通过绘画& 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 ......我无法想出这个。

1 个答案:

答案 0 :(得分:3)

似乎图像压缩的质量很低,在图像导入设置中,我将压缩更改为高质量,并且确实如此。