public static int[] onStackBlurPixels(int[] pix, int w, int h, int radius) {
        if (radius < 0 || radius > 256) {
            throw new RuntimeException("Blur bitmap radius must >= 1 and <=256.");
        }

        if (pix == null) {
            throw new RuntimeException("Blur bitmap pix isn't null.");
        }

        if (pix.length < w * h) {
            throw new RuntimeException("Blur bitmap pix length must >= w * h.");
        }

        // Jni Pixels Blur
        nativeStackBlurPixels(pix, w, h, radius);

        return (pix);
    }
StackBlur By Jni Pixels

@param pix    Original Image, you can call:
              <p>
              int w = bitmap.getWidth();
              int h = bitmap.getHeight();
              int[] pix = new int[w * h];
              bitmap.getPixels(pix, 0, w, 0, 0, w, h);
              <p>
              // Jni Pixels Blur
              onStackBlurPixels(pix, w, h, radius);
              <p>
              bitmap.setPixels(pix, 0, w, 0, 0, w, h);
              <p>
@param radius Blur radius
@return Image Bitmap
caprice/graphics/src/main/java/net/qiujuer/genius/graphics/Blur.java