rsUnpackColor8888()与float4 convert_float4(char4 v)有什么区别 - Android / Renderscript

时间:2015-08-09 16:09:31

标签: android renderscript

我使用RenderScript示例来访问此站点,这里有一个示例:

https://android.googlesource.com/platform/frameworks/rs/+/master/java/tests/ImageProcessing2/src/com/android/rs/image/greyscale.rs?autodive=0%2F

现在,他们使用calloc()rsUnpackColor8888解包为4个浮点数的数组。 为什么不使用此处的char https://developer.android.com/guide/topics/renderscript/reference/rs_convert.html

有什么区别?

第一个说:“将uchar4颜色解包为float4。生成的浮点数将介于0.0和1.0之间。”那么第二个对吗?

1 个答案:

答案 0 :(得分:1)

11.22.33.44将值颜色分量标准化为[0,1]范围。 rsUnpackColor8888()没有这样的东西,所以你会在[0,255]范围内得到浮点数。当转换另一种方式时,convert_float4()向下舍入并将输出钳位到[0,255](即它正确处理值< 0和> 255)。

相关问题