Search in sources :

Example 1 with RSRuntimeException

use of android.renderscript.RSRuntimeException in project android_frameworks_base by ParanoidAndroid.

the class ShadersTestRS method initMeshes.

private void initMeshes(FileA3D model) {
    int numEntries = model.getIndexEntryCount();
    int numMeshes = 0;
    for (int i = 0; i < numEntries; i++) {
        FileA3D.IndexEntry entry = model.getIndexEntry(i);
        if (entry != null && entry.getEntryType() == FileA3D.EntryType.MESH) {
            numMeshes++;
        }
    }
    if (numMeshes > 0) {
        mMeshes = new ScriptField_MeshInfo(mRS, numMeshes);
        for (int i = 0; i < numEntries; i++) {
            FileA3D.IndexEntry entry = model.getIndexEntry(i);
            if (entry != null && entry.getEntryType() == FileA3D.EntryType.MESH) {
                Mesh mesh = entry.getMesh();
                mMeshes.set_mMesh(i, mesh, false);
                mMeshes.set_mNumIndexSets(i, mesh.getPrimitiveCount(), false);
            }
        }
        mMeshes.copyAll();
    } else {
        throw new RSRuntimeException("No valid meshes in file");
    }
    mScript.bind_gMeshes(mMeshes);
    mScript.invoke_updateMeshInfo();
}
Also used : FileA3D(android.renderscript.FileA3D) Mesh(android.renderscript.Mesh) RSRuntimeException(android.renderscript.RSRuntimeException)

Example 2 with RSRuntimeException

use of android.renderscript.RSRuntimeException in project AgileDev by LZ9.

the class BlurTransformation method transform.

@Override
public Resource<Bitmap> transform(Resource<Bitmap> resource, int outWidth, int outHeight) {
    Bitmap source = resource.get();
    int width = source.getWidth();
    int height = source.getHeight();
    int scaledWidth = width / mSampling;
    int scaledHeight = height / mSampling;
    Bitmap bitmap = mBitmapPool.get(scaledWidth, scaledHeight, Bitmap.Config.ARGB_8888);
    if (bitmap == null) {
        bitmap = Bitmap.createBitmap(scaledWidth, scaledHeight, Bitmap.Config.ARGB_8888);
    }
    Canvas canvas = new Canvas(bitmap);
    canvas.scale(1 / (float) mSampling, 1 / (float) mSampling);
    Paint paint = new Paint();
    paint.setFlags(Paint.FILTER_BITMAP_FLAG);
    canvas.drawBitmap(source, 0, 0, paint);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
        try {
            bitmap = RSBlur.blur(mContext, bitmap, mRadius);
        } catch (RSRuntimeException e) {
            bitmap = FastBlur.blur(bitmap, mRadius, true);
        }
    } else {
        bitmap = FastBlur.blur(bitmap, mRadius, true);
    }
    return BitmapResource.obtain(bitmap, mBitmapPool);
}
Also used : Bitmap(android.graphics.Bitmap) Canvas(android.graphics.Canvas) RSRuntimeException(android.renderscript.RSRuntimeException) Paint(android.graphics.Paint) Paint(android.graphics.Paint)

Example 3 with RSRuntimeException

use of android.renderscript.RSRuntimeException in project Phonograph by kabouzeid.

the class BlurTransformation method transform.

@Override
protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) {
    int sampling;
    if (this.sampling == 0) {
        sampling = ImageUtil.calculateInSampleSize(toTransform.getWidth(), toTransform.getHeight(), 100);
    } else {
        sampling = this.sampling;
    }
    int width = toTransform.getWidth();
    int height = toTransform.getHeight();
    int scaledWidth = width / sampling;
    int scaledHeight = height / sampling;
    Bitmap out = pool.get(scaledWidth, scaledHeight, Bitmap.Config.ARGB_8888);
    if (out == null) {
        out = Bitmap.createBitmap(scaledWidth, scaledHeight, Bitmap.Config.ARGB_8888);
    }
    Canvas canvas = new Canvas(out);
    canvas.scale(1 / (float) sampling, 1 / (float) sampling);
    Paint paint = new Paint();
    paint.setFlags(Paint.FILTER_BITMAP_FLAG);
    canvas.drawBitmap(toTransform, 0, 0, paint);
    if (Build.VERSION.SDK_INT >= 17) {
        try {
            final RenderScript rs = RenderScript.create(context.getApplicationContext());
            final Allocation input = Allocation.createFromBitmap(rs, out, Allocation.MipmapControl.MIPMAP_NONE, Allocation.USAGE_SCRIPT);
            final Allocation output = Allocation.createTyped(rs, input.getType());
            final ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
            script.setRadius(blurRadius);
            script.setInput(input);
            script.forEach(output);
            output.copyTo(out);
            rs.destroy();
            return out;
        } catch (RSRuntimeException e) {
            // on some devices RenderScript.create() throws: android.support.v8.renderscript.RSRuntimeException: Error loading libRSSupport library
            if (BuildConfig.DEBUG)
                e.printStackTrace();
        }
    }
    return StackBlur.blur(out, blurRadius);
}
Also used : Bitmap(android.graphics.Bitmap) RenderScript(android.renderscript.RenderScript) Allocation(android.renderscript.Allocation) ScriptIntrinsicBlur(android.renderscript.ScriptIntrinsicBlur) Canvas(android.graphics.Canvas) RSRuntimeException(android.renderscript.RSRuntimeException) Paint(android.graphics.Paint) Paint(android.graphics.Paint)

Example 4 with RSRuntimeException

use of android.renderscript.RSRuntimeException in project glide-transformations by wasabeef.

the class BlurTransformation method transform.

@Override
public Resource<Bitmap> transform(Resource<Bitmap> resource, int outWidth, int outHeight) {
    Bitmap source = resource.get();
    int width = source.getWidth();
    int height = source.getHeight();
    int scaledWidth = width / mSampling;
    int scaledHeight = height / mSampling;
    Bitmap bitmap = mBitmapPool.get(scaledWidth, scaledHeight, Bitmap.Config.ARGB_8888);
    if (bitmap == null) {
        bitmap = Bitmap.createBitmap(scaledWidth, scaledHeight, Bitmap.Config.ARGB_8888);
    }
    Canvas canvas = new Canvas(bitmap);
    canvas.scale(1 / (float) mSampling, 1 / (float) mSampling);
    Paint paint = new Paint();
    paint.setFlags(Paint.FILTER_BITMAP_FLAG);
    canvas.drawBitmap(source, 0, 0, paint);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
        try {
            bitmap = RSBlur.blur(mContext, bitmap, mRadius);
        } catch (RSRuntimeException e) {
            bitmap = FastBlur.blur(bitmap, mRadius, true);
        }
    } else {
        bitmap = FastBlur.blur(bitmap, mRadius, true);
    }
    return BitmapResource.obtain(bitmap, mBitmapPool);
}
Also used : Bitmap(android.graphics.Bitmap) Canvas(android.graphics.Canvas) RSRuntimeException(android.renderscript.RSRuntimeException) Paint(android.graphics.Paint) Paint(android.graphics.Paint)

Example 5 with RSRuntimeException

use of android.renderscript.RSRuntimeException in project Shuttle by timusus.

the class BlurTransformation method transform.

@Override
public Resource<Bitmap> transform(Resource<Bitmap> resource, int outWidth, int outHeight) {
    Bitmap source = resource.get();
    int width = source.getWidth();
    int height = source.getHeight();
    int scaledWidth = width / mSampling;
    int scaledHeight = height / mSampling;
    Bitmap bitmap = mBitmapPool.get(scaledWidth, scaledHeight, Bitmap.Config.ARGB_8888);
    if (bitmap == null) {
        bitmap = Bitmap.createBitmap(scaledWidth, scaledHeight, Bitmap.Config.ARGB_8888);
    }
    Canvas canvas = new Canvas(bitmap);
    canvas.scale(1 / (float) mSampling, 1 / (float) mSampling);
    Paint paint = new Paint();
    paint.setFlags(Paint.FILTER_BITMAP_FLAG);
    canvas.drawBitmap(source, 0, 0, paint);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
        try {
            bitmap = RSBlur.getInstance(mContext).blur(bitmap, mRadius);
        } catch (RSRuntimeException e) {
            bitmap = FastBlur.blur(bitmap, mRadius, true);
        }
    } else {
        bitmap = FastBlur.blur(bitmap, mRadius, true);
    }
    return BitmapResource.obtain(bitmap, mBitmapPool);
}
Also used : Bitmap(android.graphics.Bitmap) Canvas(android.graphics.Canvas) RSRuntimeException(android.renderscript.RSRuntimeException) Paint(android.graphics.Paint) Paint(android.graphics.Paint)

Aggregations

RSRuntimeException (android.renderscript.RSRuntimeException)7 Bitmap (android.graphics.Bitmap)6 Canvas (android.graphics.Canvas)6 Paint (android.graphics.Paint)6 PorterDuffColorFilter (android.graphics.PorterDuffColorFilter)1 Allocation (android.renderscript.Allocation)1 FileA3D (android.renderscript.FileA3D)1 Mesh (android.renderscript.Mesh)1 RenderScript (android.renderscript.RenderScript)1 ScriptIntrinsicBlur (android.renderscript.ScriptIntrinsicBlur)1