我目前從分配對象像這樣讀取的RGB像素:的renderScript從分配得到RGB - Android電子
float4 elementF4TL = rsUnpackColor8888(*(uchar*)rsGetElementAt(inPixels, x-1, y-1));
uchar4 pixelCharsTL = rsPackColorTo8888(elementF4TL);
float3 pixelTL = convert_float4(pixelCharsTL).rgb;
然後我得到一個返回我想要的RGB值pixelTL.rgb。 有沒有更好的方法來做到這一點?
例如,rsUnpackColor8888
以uchar4
作爲參數。如果我傳遞一個從rsGetElementAt_uchar4(...)
設置的變量,它將返回一個uchar4
它會中斷。
我不100%明白這行的意思:*(uchar*)rsGetElementAt(inPixel....
如果您正在使用(x-1)和/或(y-1),請確保您已經對邊界進行檢查(即x> 1且y> 1)。如果你不這樣做,你會從無效內存中讀取,很可能會崩潰。對於任何x的調整也是如此。您可以今天將您的分配/啓動的維度作爲全局變量傳遞。 –