Код: Выделить всё
#pragma version(1)
#pragma rs java_package_name(features.background)
float darkenAmount;
uchar4 RS_KERNEL darken(uchar4 in) {
uchar4 out = in;
out.r = (uchar)(in.r * darkenAmount);
out.g = (uchar)(in.g * darkenAmount);
out.b = (uchar)(in.b * darkenAmount);
return out;
}
< /code>
Мой код, чтобы темнеть изображение следующим образом:-< /p>
val rs = RenderScript.create(context)
val input = Allocation.createFromBitmap(rs, originalBackgroundImageBitmap)
val output = Allocation.createTyped(rs, input.type)
val script = ScriptC_darken(rs)
script.set_darkenAmount(darkenAmount.coerceIn(0f, 1f))
script.forEach_darken(input, output)
val outputBitmap = createBitmap(originalBackgroundImageBitmap.width, originalBackgroundImageBitmap.height, originalBackgroundImageBitmap.config!!)
output.copyTo(outputBitmap)
rs.destroy()
< /code>
Это хорошо компилирует, однако во время выполнения он не удается с ... < /p>
java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/renderscript/RenderScript;
Код: Выделить всё
Type mismatch.
Required: androidx.renderscript.RenderScript!
Found: android.renderscript.RenderScript!
Подробнее здесь: https://stackoverflow.com/questions/796 ... or-darkeni