Blur.java 文件源码

java
阅读 38 收藏 0 点赞 0 评论 0

项目:shikimori 作者:
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
    private static void blur(Context context, Bitmap bkg, View view) {
        if(bkg==null)
            return;
        long startMs = System.currentTimeMillis();
        float scaleFactor = 8;
        float radius = 2;

        Bitmap overlay = Bitmap.createBitmap((int) (view.getMeasuredWidth()/scaleFactor),
                (int) (view.getMeasuredHeight()/scaleFactor), Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(overlay);
        canvas.translate(-view.getLeft()/scaleFactor, -view.getTop()/scaleFactor);
        canvas.scale(1 / scaleFactor, 1 / scaleFactor);
        Paint paint = new Paint();
        ColorFilter filter = new LightingColorFilter(Color.parseColor("#666666"), 1);
//        paint.setFlags(Paint.FILTER_BITMAP_FLAG);
        paint.setColorFilter(filter);
        canvas.drawBitmap(bkg, 0, 0, paint);

        overlay = FastBlur.doBlur(overlay, (int)radius, true);
        view.setBackground(new BitmapDrawable(context.getResources(), overlay));

        playFade(view);

        Log.d("blur time", "" + (System.currentTimeMillis() - startMs) + "ms");
    }
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号