【发布时间】:2017-09-20 20:18:06
【问题描述】:
我尝试使用 RenderScript 来模糊图像,它确实有效。我想知道如何使用 RenderScript 来模糊图像的一部分。我尝试了下面的代码,但它不起作用:
Bitmap overlay = Bitmap.createBitmap(
mWidth,
mHeight,
Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(overlay);
canvas.drawBitmap(bitmap, -mletf,
-mTop, null);
RenderScript rs = RenderScript.create(mContext);
Allocation overlayAlloc = Allocation.createFromBitmap(
rs, overlay);
ScriptIntrinsicBlur blur = ScriptIntrinsicBlur.create(
rs, overlayAlloc.getElement());
blur.setInput(overlayAlloc);
blur.setRadius(mRadius);
blur.forEach(overlayAlloc);
overlayAlloc.copyTo(overlay);
rs.destroy();
return overlay;
变量mHeight、mWidth 是要模糊的部分的高度和宽度,其mTop、mletf 是应该开始模糊的位置。
【问题讨论】:
标签: android renderscript blurry