當前位置: 首頁>>代碼示例>>Java>>正文


Java RenderScript類代碼示例

本文整理匯總了Java中android.renderscript.RenderScript的典型用法代碼示例。如果您正苦於以下問題:Java RenderScript類的具體用法?Java RenderScript怎麽用?Java RenderScript使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


RenderScript類屬於android.renderscript包,在下文中一共展示了RenderScript類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: blurMax

import android.renderscript.RenderScript; //導入依賴的package包/類
public static Bitmap blurMax(Context context, Bitmap image) {
    // 計算圖片縮小後的長寬
    int width = Math.round(image.getWidth() * BITMAP_SCALE);
    int height = Math.round(image.getHeight() * BITMAP_SCALE);
    // 將縮小後的圖片做為預渲染的圖片。
    Bitmap inputBitmap = Bitmap.createScaledBitmap(image, width, height, false);
    // 創建一張渲染後的輸出圖片。
    Bitmap outputBitmap = Bitmap.createBitmap(inputBitmap);
    // 創建RenderScript內核對象
    RenderScript rs = RenderScript.create(context);
    // 創建一個模糊效果的RenderScript的工具對象
    ScriptIntrinsicBlur blurScript = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
    // 由於RenderScript並沒有使用VM來分配內存,所以需要使用Allocation類來創建和分配內存空間。
    // 創建Allocation對象的時候其實內存是空的,需要使用copyTo()將數據填充進去。
    Allocation tmpIn = Allocation.createFromBitmap(rs, inputBitmap);
    Allocation tmpOut = Allocation.createFromBitmap(rs, outputBitmap);
    // 設置渲染的模糊程度, 25f是最大模糊度
    blurScript.setRadius(25f);
    // 設置blurScript對象的輸入內存
    blurScript.setInput(tmpIn);
    // 將輸出數據保存到輸出內存中
    blurScript.forEach(tmpOut);
    // 將數據填充到Allocation中
    tmpOut.copyTo(outputBitmap);
    return outputBitmap;
}
 
開發者ID:funnyzhaov,項目名稱:Tribe,代碼行數:27,代碼來源:BlurBitmap.java

示例2: blur

import android.renderscript.RenderScript; //導入依賴的package包/類
private static Bitmap blur(Context context, Bitmap image) {

        int width = Math.round(image.getWidth() * BITMAP_SCALE);
        int height = Math.round(image.getHeight() * BITMAP_SCALE);

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

        RenderScript rs = RenderScript.create(context);
        ScriptIntrinsicBlur theIntrinsic = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
        Allocation tmpIn = Allocation.createFromBitmap(rs, inputBitmap);
        Allocation tmpOut = Allocation.createFromBitmap(rs, outputBitmap);
        theIntrinsic.setRadius(BLUR_RADIUS);
        theIntrinsic.setInput(tmpIn);
        theIntrinsic.forEach(tmpOut);
        tmpOut.copyTo(outputBitmap);

        return outputBitmap;
    }
 
開發者ID:AkshayPall,項目名稱:Songify,代碼行數:20,代碼來源:BlurBackground.java

示例3: renderScriptBlur

import android.renderscript.RenderScript; //導入依賴的package包/類
/**
 * renderScript模糊圖片
 * <p>API大於17</p>
 *
 * @param src     源圖片
 * @param radius  模糊半徑(0...25)
 * @param recycle 是否回收
 * @return 模糊後的圖片
 */
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
public static Bitmap renderScriptBlur(final Bitmap src,
                                      @FloatRange(from = 0, to = 25, fromInclusive = false) final float radius,
                                      final boolean recycle) {
    if (isEmptyBitmap(src)) return null;
    RenderScript rs = null;
    Bitmap ret = recycle ? src : src.copy(src.getConfig(), true);
    try {
        rs = RenderScript.create(Utils.getApp());
        rs.setMessageHandler(new RenderScript.RSMessageHandler());
        Allocation input = Allocation.createFromBitmap(rs, ret, Allocation.MipmapControl.MIPMAP_NONE, Allocation
                .USAGE_SCRIPT);
        Allocation output = Allocation.createTyped(rs, input.getType());
        ScriptIntrinsicBlur blurScript = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
        blurScript.setInput(input);
        blurScript.setRadius(radius);
        blurScript.forEach(output);
        output.copyTo(ret);
    } finally {
        if (rs != null) {
            rs.destroy();
        }
    }
    return ret;
}
 
開發者ID:weiwenqiang,項目名稱:GitHub,代碼行數:35,代碼來源:ImageUtils.java

示例4: blur

import android.renderscript.RenderScript; //導入依賴的package包/類
public static Bitmap blur(Context context, Bitmap sentBitmap, int radius) {

        if (Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN) {
            Bitmap bitmap = sentBitmap.copy(sentBitmap.getConfig(), true);

            final RenderScript rs = RenderScript.create(context);
            final Allocation input = Allocation.createFromBitmap(rs, sentBitmap, 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(radius); //0.0f ~ 25.0f
            script.setInput(input);
            script.forEach(output);
            output.copyTo(bitmap);
            return bitmap;
        } else {
            return sentBitmap;
        }
    }
 
開發者ID:icaynia,項目名稱:pracler,代碼行數:20,代碼來源:ImageUtils.java

示例5: blur

import android.renderscript.RenderScript; //導入依賴的package包/類
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR1)
public static Bitmap blur(UQI uqi, Bitmap image) {
    int width = Math.round(image.getWidth() * BITMAP_SCALE);
    int height = Math.round(image.getHeight() * BITMAP_SCALE);

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

    RenderScript rs = RenderScript.create(uqi.getContext());
    ScriptIntrinsicBlur theIntrinsic = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
    Allocation tmpIn = Allocation.createFromBitmap(rs, inputBitmap);
    Allocation tmpOut = Allocation.createFromBitmap(rs, outputBitmap);
    theIntrinsic.setRadius(BLUR_RADIUS);
    theIntrinsic.setInput(tmpIn);
    theIntrinsic.forEach(tmpOut);
    tmpOut.copyTo(outputBitmap);

    return outputBitmap;
}
 
開發者ID:PrivacyStreams,項目名稱:PrivacyStreams,代碼行數:20,代碼來源:ImageUtils.java

示例6: renderScriptBlur

import android.renderscript.RenderScript; //導入依賴的package包/類
/**
 * renderScript模糊圖片
 * <p>API大於17</p>
 *
 * @param src     源圖片
 * @param radius  模糊半徑(0...25)
 * @return 模糊後的圖片
 */
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
public static Bitmap renderScriptBlur(Bitmap src, @FloatRange(from = 0, to = 25, fromInclusive = false) float radius) {
    if (isEmptyBitmap(src)) return null;
    RenderScript rs = null;
    try {
        rs = RenderScript.create(Utils.getContext());
        rs.setMessageHandler(new RenderScript.RSMessageHandler());
        Allocation input = Allocation.createFromBitmap(rs, src, Allocation.MipmapControl.MIPMAP_NONE, Allocation
                .USAGE_SCRIPT);
        Allocation output = Allocation.createTyped(rs, input.getType());
        ScriptIntrinsicBlur blurScript = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
        blurScript.setInput(input);
        blurScript.setRadius(radius);
        blurScript.forEach(output);
        output.copyTo(src);
    } finally {
        if (rs != null) {
            rs.destroy();
        }
    }
    return src;
}
 
開發者ID:hoangkien0705,項目名稱:Android-UtilCode,代碼行數:31,代碼來源:ImageUtils.java

示例7: renderFrame

import android.renderscript.RenderScript; //導入依賴的package包/類
@Override
public void renderFrame(RenderScript rs, Allocation in, Allocation out) {
    if (blendScript == null) {
        blendScript = ScriptIntrinsicBlend.create(rs, in.getElement());
        setAlphaScript = new ScriptC_set_alpha(rs);
        last = RsUtil.createMatchingAlloc(rs, in);
        last.copyFrom(in);
    }
    out.copyFrom(last);

    // setting the alpha here is just to trick ScriptIntrinsicBlend to do linear
    // interpolation for us
    setAlphaScript.set_alpha_value((short) 200);
    setAlphaScript.forEach_filter(out, out);

    setAlphaScript.set_alpha_value((short) 55);
    setAlphaScript.forEach_filter(in, in);

    blendScript.forEachSrcAtop(in, out);

    last.copyFrom(out);
}
 
開發者ID:lydia-schiff,項目名稱:hella-renderscript,代碼行數:23,代碼來源:TrailsRenderer.java

示例8: renderFrame

import android.renderscript.RenderScript; //導入依賴的package包/類
@Override
public void renderFrame(RenderScript rs, Allocation in, Allocation out) {
    if (resizeRsRenderer == null) {
        resizeRsRenderer = new ResizeRsRenderer();
        colorFrameScript = new ScriptC_color_frame(rs);

        scaledAlloc = RsUtil.createRgbAlloc(rs, RsUtil.width(in) / 2, RsUtil.height(in) / 2);
        colorFrameScript.invoke_prepare(scaledAlloc);
    }

    if (count++ % FRAMES_BEFORE_COLOR_REFRESH == 0) {
        loadRandomRGBAColor();
        colorFrameScript.set_color(rgbaColor);
    }

    // scale image
    resizeRsRenderer.renderFrame(rs, in, scaledAlloc);

    // draw scaled image and color frame. we use out as input and output because we don't
    // actually use the input value in the calculation, just the rectangle bounds
    colorFrameScript.forEach_frame_image(out, out);
}
 
開發者ID:lydia-schiff,項目名稱:hella-renderscript,代碼行數:23,代碼來源:ColorFrameRenderer.java

示例9: if

import android.renderscript.RenderScript; //導入依賴的package包/類
public static Bitmap 模糊(Bitmap $圖片,int $半徑) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
        Bitmap bitmap = $圖片.copy($圖片.getConfig(), true);
        final RenderScript rs = RenderScript.create(上下文工具.取全局上下文());
        final Allocation input = Allocation.createFromBitmap(rs, $圖片, Allocation.MipmapControl.MIPMAP_NONE,																						 Allocation.USAGE_SCRIPT);
        final Allocation output = Allocation.createTyped(rs, input.getType());
        ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
        script.setRadius($半徑);
        script.setInput(input);
        script.forEach(output);
        output.copyTo(bitmap);

        // clean up renderscript resources
        rs.destroy();
        input.destroy();
        output.destroy();
        script.destroy();

        return bitmap;
    }
    return null;
}
 
開發者ID:MikaGuraN,項目名稱:HL4A,代碼行數:23,代碼來源:圖片工具.java

示例10: createBlurredImageFromBitmap

import android.renderscript.RenderScript; //導入依賴的package包/類
public static Drawable createBlurredImageFromBitmap(Bitmap bitmap, Context context, int inSampleSize) {

        RenderScript rs = RenderScript.create(context);
        final BitmapFactory.Options options = new BitmapFactory.Options();
        options.inSampleSize = inSampleSize;

        ByteArrayOutputStream stream = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
        byte[] imageInByte = stream.toByteArray();
        ByteArrayInputStream bis = new ByteArrayInputStream(imageInByte);
        Bitmap blurTemplate = BitmapFactory.decodeStream(bis, null, options);

        final Allocation input = Allocation.createFromBitmap(rs, blurTemplate);
        final Allocation output = Allocation.createTyped(rs, input.getType());
        final ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
        script.setRadius(8f);
        script.setInput(input);
        script.forEach(output);
        output.copyTo(blurTemplate);

        return new BitmapDrawable(context.getResources(), blurTemplate);
    }
 
開發者ID:komamj,項目名稱:KomaMusic,代碼行數:23,代碼來源:ImageLoader.java

示例11: renderScriptBlur

import android.renderscript.RenderScript; //導入依賴的package包/類
/**
 * renderScript模糊圖片
 * <p>API大於17</p>
 *
 * @param src    源圖片
 * @param radius 模糊半徑(0...25)
 * @return 模糊後的圖片
 */
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
public static Bitmap renderScriptBlur(Bitmap src, @FloatRange(from = 0, to = 25, fromInclusive = false) float radius) {
    if (isEmptyBitmap(src)) return null;
    RenderScript rs = null;
    try {
        rs = RenderScript.create(Utils.getContext());
        rs.setMessageHandler(new RenderScript.RSMessageHandler());
        Allocation input = Allocation.createFromBitmap(rs, src, Allocation.MipmapControl.MIPMAP_NONE, Allocation
                .USAGE_SCRIPT);
        Allocation output = Allocation.createTyped(rs, input.getType());
        ScriptIntrinsicBlur blurScript = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
        blurScript.setInput(input);
        blurScript.setRadius(radius);
        blurScript.forEach(output);
        output.copyTo(src);
    } finally {
        if (rs != null) {
            rs.destroy();
        }
    }
    return src;
}
 
開發者ID:pan2yong22,項目名稱:AndroidUtilCode-master,代碼行數:31,代碼來源:ImageUtils.java

示例12: one

import android.renderscript.RenderScript; //導入依賴的package包/類
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR1)
public Bitmap one(Context context, Bitmap bitmap){
    renderScript=RenderScript.create(context);
    outBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig());
    inputAllocation=Allocation.createFromBitmap(renderScript,bitmap);
    outputAllocation=Allocation.createTyped(renderScript,inputAllocation.getType());
    final ScriptIntrinsicColorMatrix colorMatrix1=ScriptIntrinsicColorMatrix.create(renderScript, Element.U8_4(renderScript));
    colorMatrix1.setColorMatrix(new android.renderscript.Matrix4f(new float[]
            {
                    -0.33f, -0.33f, -0.33f, 1.0f,
                    -0.59f, -0.59f, -0.59f, 1.0f,
                    -0.11f, -0.11f, -0.11f, 1.0f,
                    1.0f, 1.0f, 1.0f, 1.0f
            }));
    colorMatrix1.forEach(inputAllocation,outputAllocation);
    outputAllocation.copyTo(outBitmap);
    return outBitmap;
}
 
開發者ID:hgayan7,項目名稱:FilterLibrary,代碼行數:19,代碼來源:PhotoFilter.java

示例13: three

import android.renderscript.RenderScript; //導入依賴的package包/類
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR1)
public Bitmap three(Context context, Bitmap bitmap){
    renderScript=RenderScript.create(context);
    outBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig());
    inputAllocation=Allocation.createFromBitmap(renderScript,bitmap);
    outputAllocation=Allocation.createTyped(renderScript,inputAllocation.getType());
    final ScriptIntrinsicColorMatrix colorMatrix3 = ScriptIntrinsicColorMatrix.create(renderScript, Element.U8_4(renderScript));
    colorMatrix3.setColorMatrix(new android.renderscript.Matrix4f(new float[]
            {
                    0f, 0f, 0f, 0f,
                    0f, 0.78f, 0f, 0f,
                    0f, 0f, 1f, 0f,
                    0f, 0f, 0f, 1f,
            }));
    colorMatrix3.forEach(inputAllocation, outputAllocation);
    outputAllocation.copyTo(outBitmap);
    return outBitmap;
}
 
開發者ID:hgayan7,項目名稱:FilterLibrary,代碼行數:19,代碼來源:PhotoFilter.java

示例14: four

import android.renderscript.RenderScript; //導入依賴的package包/類
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR1)
public Bitmap four(Context context, Bitmap bitmap){
    renderScript=RenderScript.create(context);
    outBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig());
    inputAllocation=Allocation.createFromBitmap(renderScript,bitmap);
    outputAllocation=Allocation.createTyped(renderScript,inputAllocation.getType());
    final ScriptIntrinsicColorMatrix colorMatrix4 = ScriptIntrinsicColorMatrix.create(renderScript, Element.U8_4(renderScript));
    colorMatrix4.setColorMatrix(new android.renderscript.Matrix4f(new float[]
            {
                    0.3f, 0f, 0f, 0f,
                    0f, 0.65f, 0f, 0f,
                    0f, 0f, 0.49f, 0f,
                    0f, 0f, 0f, 1f


            }));
    colorMatrix4.forEach(inputAllocation, outputAllocation);
    outputAllocation.copyTo(outBitmap);
    return outBitmap;
}
 
開發者ID:hgayan7,項目名稱:FilterLibrary,代碼行數:21,代碼來源:PhotoFilter.java

示例15: five

import android.renderscript.RenderScript; //導入依賴的package包/類
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR1)
public Bitmap five(Context context, Bitmap bitmap){
    renderScript=RenderScript.create(context);
    outBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig());
    inputAllocation=Allocation.createFromBitmap(renderScript,bitmap);
    outputAllocation=Allocation.createTyped(renderScript,inputAllocation.getType());
    final  ScriptIntrinsicColorMatrix colorMatrix5 = ScriptIntrinsicColorMatrix.create(renderScript, Element.U8_4(renderScript));
    colorMatrix5.setColorMatrix(new android.renderscript.Matrix4f(new float[]
            {
                    -0.359705309629158f, 0.377252728606377f, 0.663841667303255f, 0f,
                    1.56680818833214f, 0.456668209492391f, 1.12613917506705f, 0f,
                    -0.147102878702981f, 0.226079061901232f, -0.729980842370303f, 0f,
                    0f, 0f, 0f, 1f
            }));
    colorMatrix5.forEach(inputAllocation, outputAllocation);
    outputAllocation.copyTo(outBitmap);
    return outBitmap;
}
 
開發者ID:hgayan7,項目名稱:FilterLibrary,代碼行數:19,代碼來源:PhotoFilter.java


注:本文中的android.renderscript.RenderScript類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。