给定要模糊区域的坐标,Android Studio会模糊图像的特定区域

时间:2019-03-08 16:06:09

标签: android renderscript android-renderscript android-blur-effect

我正在尝试根据某些给定的坐标来模糊图像的特定部分。这些坐标在图像上组成一个矩形,我想模糊图像上的这个特定区域。我知道RenderScript是实现此目标的最佳方法,但我无法对特定区域(仅整个图像)进行模糊处理。

这是我现在拥有的使整个图像模糊的代码。

    int widthBlur = Math.round(image.getWidth() * BITMAP_SCALE);
    int heightBlur = Math.round(image.getHeight() * BITMAP_SCALE);

    Bitmap inputBitmap = Bitmap.createScaledBitmap(image, widthBlur, heightBlur, false);
    Bitmap outputBitmap = Bitmap.createBitmap(inputBitmap);

    RenderScript rs = RenderScript.create(this);
    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;

目前我没有使用x1,x2,y1和y2,但是这些是我在图像上具有的坐标,这些坐标给出了要模糊的图像上的矩形。 (x2-x1给出矩形的宽度,y2-y1给出矩形的高度)。

0 个答案:

没有答案