androidx.renderscript.ScriptIntrinsicBlur Java Examples

The following examples show how to use androidx.renderscript.ScriptIntrinsicBlur. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ScriptIntrinsicBlurPostProcessor.java    From react-native-image-filter-kit with MIT License 6 votes vote down vote up
@Override
protected void processSingularRenderscript(Bitmap src, Bitmap out) {
  RenderscriptContext ctx = new RenderscriptContext(src, out, getContext());

  final ScriptIntrinsicBlur script = ScriptIntrinsicBlur
    .create(ctx.getScript(), Element.U8_4(ctx.getScript()));

  script.setInput(ctx.getSrcAlloc());
  script.setRadius(mRadius);
  script.forEach(ctx.getOutAlloc());

  ctx.copyTo(out);

  script.destroy();
  ctx.destroy();
}
 
Example #2
Source File: BlurTransformation.java    From arcusandroid with Apache License 2.0 5 votes vote down vote up
@Override
public Bitmap transform(@NonNull Bitmap source) {

    int width = Math.round(source.getWidth() * scale);
    int height = Math.round(source.getHeight() * scale);

    Bitmap inputBitmap = Bitmap.createScaledBitmap(source, width, height, false);
    Bitmap outputBitmap = Bitmap.createBitmap(inputBitmap);

    RenderScript rs = RenderScript.create(getContext());
    final ScriptIntrinsicBlur theIntrinsic = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
    final Allocation tmpIn = Allocation.createFromBitmap(rs, inputBitmap);
    final Allocation tmpOut = Allocation.createFromBitmap(rs, outputBitmap);

    theIntrinsic.setRadius(radius);
    theIntrinsic.setInput(tmpIn);
    theIntrinsic.forEach(tmpOut);
    tmpOut.copyTo(outputBitmap);

    if (inputBitmap != source && !inputBitmap.isRecycled()) {
        inputBitmap.recycle();
    }

    if (outputBitmap != source && !source.isRecycled()) {
        source.recycle();
    }

    return outputBitmap;
}
 
Example #3
Source File: RenderScriptBlurProcessor.java    From HokoBlur with Apache License 2.0 5 votes vote down vote up
private void init(Context context) {
    Preconditions.checkNotNull(context, "Please set context for renderscript scheme, forget to set context for builder?");

    try {
        mRenderScript = RenderScript.create(context.getApplicationContext());
        mGaussianBlurScript = ScriptIntrinsicBlur.create(mRenderScript, Element.U8_4(mRenderScript));
        mBoxBlurScript = new ScriptC_BoxBlur(mRenderScript);
        mStackBlurScript = new ScriptC_StackBlur(mRenderScript);
        rsRuntimeInited = true;
    } catch (RSRuntimeException e) {
        Log.e(TAG, "Failed to init RenderScript runtime", e);
        rsRuntimeInited = false;
    }

}
 
Example #4
Source File: RenderScriptGaussianBlur.java    From BlurTestAndroid with Apache License 2.0 5 votes vote down vote up
@Override
public Bitmap blur(int radius, Bitmap bitmapOriginal) {
    final Allocation input = Allocation.createFromBitmap(rs, bitmapOriginal);
    final Allocation output = Allocation.createTyped(rs, input.getType());
    final ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
    script.setRadius(radius);
    script.setInput(input);
    script.forEach(output);
    output.copyTo(bitmapOriginal);
    return bitmapOriginal;
}
 
Example #5
Source File: RenderScriptGaussianBlur.java    From Dali with Apache License 2.0 5 votes vote down vote up
@Override
public Bitmap blur(int radius, Bitmap bitmapOriginal) {
    final Allocation input = Allocation.createFromBitmap(rs, bitmapOriginal);
    final Allocation output = Allocation.createTyped(rs, input.getType());
    final ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
    script.setRadius(radius);
    script.setInput(input);
    script.forEach(output);
    output.copyTo(bitmapOriginal);
    return bitmapOriginal;
}