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


Java RenderScript.destroy方法代碼示例

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


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

示例1: 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

示例2: 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

示例3: 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

示例4: 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

示例5: 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, 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:MobClub,項目名稱:BBSSDK-for-Android,代碼行數:35,代碼來源:ImageUtils.java

示例6: blurBitmap

import android.renderscript.RenderScript; //導入方法依賴的package包/類
/**
 * 圖片高斯模糊
 *
 * @param context
 * @param bitmap
 * @return
 */
public static Bitmap blurBitmap(Context context, Bitmap bitmap) {
    //用需要創建高斯模糊bitmap創建一個空的bitmap
    Bitmap outBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
    // 初始化Renderscript,該類提供了RenderScript context,創建其他RS類之前必須先創建這個類,其控製RenderScript的初始化,資源管理及釋放
    RenderScript rs = RenderScript.create(context);
    // 創建高斯模糊對象
    ScriptIntrinsicBlur blurScript = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
    // 創建Allocations,此類是將數據傳遞給RenderScript內核的主要方 法,並製定一個後備類型存儲給定類型
    Allocation allIn = Allocation.createFromBitmap(rs, bitmap);
    Allocation allOut = Allocation.createFromBitmap(rs, outBitmap);
    //設定模糊度(注:Radius最大隻能設置25.f)
    blurScript.setRadius(15f);
    // Perform the Renderscript
    blurScript.setInput(allIn);
    blurScript.forEach(allOut);
    allOut.copyTo(outBitmap);
    rs.destroy();
    return outBitmap;
}
 
開發者ID:NICOLITE,項目名稱:HutHelper,代碼行數:27,代碼來源:CommUtil.java

示例7: renderScriptBlur

import android.renderscript.RenderScript; //導入方法依賴的package包/類
/**
 * renderScript模糊圖片
 * <p>API大於17</p>
 *
 * @param context 上下文
 * @param src 源圖片
 * @param radius 模糊半徑(0...25)
 * @return 模糊後的圖片
 */
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
public static Bitmap renderScriptBlur(Context context, Bitmap src, @FloatRange(from = 0, to = 25, fromInclusive = false) float radius) {
    if (isEmptyBitmap(src)) {
        return null;
    }
    RenderScript rs = null;
    try {
        rs = RenderScript.create(context);
        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:imliujun,項目名稱:LJFramework,代碼行數:35,代碼來源:ImageUtils.java

示例8: rsBlur

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

        // 計算圖片縮小後的長寬
        int width = Math.round(source.getWidth() * BITMAP_SCALE);
        int height = Math.round(source.getHeight() * BITMAP_SCALE);

        // 將縮小後的圖片做為預渲染的圖片
        Bitmap inputBitmap = Bitmap.createScaledBitmap(source, width, height, false);

        RenderScript renderScript = RenderScript.create(context);
        final Allocation input = Allocation.createFromBitmap(renderScript, inputBitmap);
        final Allocation outPut = Allocation.createTyped(renderScript, input.getType());

        ScriptIntrinsicBlur scriptIntrinsicBlur = ScriptIntrinsicBlur.create(renderScript,
                Element.U8_4(renderScript));
        scriptIntrinsicBlur.setInput(input);
        scriptIntrinsicBlur.setRadius(radius);
        scriptIntrinsicBlur.forEach(outPut);
        outPut.copyTo(inputBitmap);
        renderScript.destroy();

        return inputBitmap;
    }
 
開發者ID:yinyiliang,項目名稱:RabbitCloud,代碼行數:24,代碼來源:RenderScriptHelper.java

示例9: blurBitmap

import android.renderscript.RenderScript; //導入方法依賴的package包/類
public static Bitmap blurBitmap(Context context, Bitmap bmp, float radius) {
    Bitmap out = Bitmap.createBitmap(bmp);
    RenderScript rs = RenderScript.create(context);
    radius = Math.min(Math.max(radius, 0), 25);

    Allocation input = Allocation.createFromBitmap(
            rs, bmp, MipmapControl.MIPMAP_NONE, Allocation.USAGE_SCRIPT);
    Allocation output = Allocation.createTyped(rs, input.getType());

    ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
    script.setInput(input);
    script.setRadius(radius);
    script.forEach(output);

    output.copyTo(out);

    rs.destroy();
    return out;
}
 
開發者ID:WrBug,項目名稱:GravityBox,代碼行數:20,代碼來源:Utils.java

示例10: 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(final Bitmap src,
                                      @FloatRange(from = 0, to = 25, fromInclusive = false) final 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:Wilshion,項目名稱:HeadlineNews,代碼行數:32,代碼來源:ImageUtils.java

示例11: blurBitmap

import android.renderscript.RenderScript; //導入方法依賴的package包/類
/**
 * 將bitmap高斯模糊化
 * @param bitmap
 * @return
 */
public Bitmap blurBitmap(Bitmap bitmap){

    Bitmap outBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
    RenderScript rs = RenderScript.create(getActivity().getApplicationContext());
    ScriptIntrinsicBlur blurScript = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
    Allocation allIn = Allocation.createFromBitmap(rs, bitmap);
    Allocation allOut = Allocation.createFromBitmap(rs, outBitmap);
    blurScript.setRadius(25.f);
    blurScript.setInput(allIn);
    blurScript.forEach(allOut);
    allOut.copyTo(outBitmap);
    bitmap.recycle();
    rs.destroy();

    return  outBitmap;
}
 
開發者ID:JianxunRao,項目名稱:FangYanShuo,代碼行數:22,代碼來源:MeFragment.java

示例12: 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(SDAndroidLib.getContext());
        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:SiberiaDante,項目名稱:AndroidUtilLib,代碼行數:35,代碼來源:SDBitmapUtil.java

示例13: blur

import android.renderscript.RenderScript; //導入方法依賴的package包/類
/**
 * 使用RenderScript實現高斯模糊的算法
 * @param bitmap
 * @return
 */
public Bitmap blur(Bitmap bitmap){
    //Let's create an empty bitmap with the same size of the bitmap we want to blur
    Bitmap outBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
    //Instantiate a new Renderscript
    RenderScript rs = RenderScript.create(getApplicationContext());
    //Create an Intrinsic Blur Script using the Renderscript
    ScriptIntrinsicBlur blurScript = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
    //Create the Allocations (in/out) with the Renderscript and the in/out bitmaps
    Allocation allIn = Allocation.createFromBitmap(rs, bitmap);
    Allocation allOut = Allocation.createFromBitmap(rs, outBitmap);
    //Set the radius of the blur: 0 < radius <= 25
    blurScript.setRadius(20.0f);
    //Perform the Renderscript
    blurScript.setInput(allIn);
    blurScript.forEach(allOut);
    //Copy the final bitmap created by the out Allocation to the outBitmap
    allOut.copyTo(outBitmap);
    //recycle the original bitmap
    bitmap.recycle();
    //After finishing everything, we destroy the Renderscript.
    rs.destroy();

    return outBitmap;

}
 
開發者ID:imageprocessor,項目名稱:cv4j,代碼行數:31,代碼來源:GaussianBlurActivity.java

示例14: doBlur

import android.renderscript.RenderScript; //導入方法依賴的package包/類
/**
 * 模糊函數
 *
 * @param context
 * @param sentBitmap
 * @param radius
 * @return
 */
public static Bitmap doBlur(Context context, Bitmap sentBitmap, float radius) {
    if (sentBitmap == null) return null;
    if (radius <= 0 || radius > 25) radius = 25f;//範圍在1-25之間
    if (radius <= 6 && Build.VERSION.SDK_INT > 16) {//經測試,radius大於6後,fastBlur效率更高,並且RenderScript在api17以上使用
        //Bitmap bitmap = Bitmap.createScaledBitmap(sentBitmap, sentBitmap.getWidth() / scale, sentBitmap.getHeight() / scale, false);//先縮放圖片,增加模糊速度
        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);
        script.setInput(input);
        script.forEach(output);
        output.copyTo(sentBitmap);
        rs.destroy();
        return sentBitmap;
    } else {//快速模糊
        return fastBlur(sentBitmap, radius);
    }
}
 
開發者ID:iOnesmile,項目名稱:MyAndroidDemo,代碼行數:29,代碼來源:BitmapBlurHelper.java

示例15: createBlurBmpWithRenderScript

import android.renderscript.RenderScript; //導入方法依賴的package包/類
/**
 * 創建一個虛化效果的Bitmap對象,使用了RenderScript,但是要求最低SDK版本號為17.
 **/
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
public static Bitmap createBlurBmpWithRenderScript(Context context, Bitmap srcBmp, float radius) {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) throw new IllegalStateException("要求最低SDK版本號為17");
    if (radius < 1) return null;
    Bitmap bitmap = Bitmap.createBitmap(srcBmp.getWidth(), srcBmp.getHeight(), srcBmp.getConfig());    //srcBmp.copy(srcBmp.getConfig(), true);

    RenderScript rs = RenderScript.create(context);
    Allocation alloc = Allocation.createFromBitmap(rs, srcBmp);
    ScriptIntrinsicBlur blur = ScriptIntrinsicBlur.create(rs, alloc.getElement());
    blur.setInput(alloc);
    blur.setRadius(radius);
    blur.forEach(alloc);
    alloc.copyTo(bitmap);
    rs.destroy();
    return bitmap;
}
 
開發者ID:WeiChou,項目名稱:Wei.Lib2A,代碼行數:20,代碼來源:BitmapUtils.java


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