我正在尝试获取 android.renderscript.Allocation 对象以将其结果写入 int 数组。代码很短,但我很难破译如何修复它。
int[] result = new int[bitmap.getWidth() * bitmap.getHeight()];
inAllocation = Allocation.createFromBitmap(mRS, src,Allocation.MipmapControl.MIPMAP_NONE, Allocation.USAGE_SCRIPT);
outAllocation = Allocation.createTyped(mRS, inAllocation.getType());
outAllocation.copyTo(result);
我得到的例外是:
10-15 19:21:07.084: E/AndroidRuntime(9021): Caused by: android.renderscript.RSIllegalArgumentException: 32 bit integer source does not match allocation type UNSIGNED_8
我的预感是我需要通过 Androids 内置函数创建 int 数组,但我无法理解我应该使用的内容。如果我将方法(和结果对象)的返回类型更改为位图,代码就可以工作 - 但我想以数组的形式返回像素。
谢谢