美文网首页
Android 两种方式实现图片高斯模糊

Android 两种方式实现图片高斯模糊

作者: JeffreyWorld | 来源:发表于2022-12-05 15:27 被阅读0次
一、通过 ImageView 设置 以及加了高斯模糊的 Bitmap 对象
        ImageLoaderUtils.loadImgWithListener(this, "https://.../uploads/20210813143221243.png" + "?x-oss-process=image/resize,w_" + CommonUtil.dip2px(100), new CustomTarget<Drawable>() {
            @Override
            public void onResourceReady(@NonNull Drawable resource, @Nullable Transition transition) {
                Bitmap bitmap = null;
                if (resource instanceof BitmapDrawable) {
                    bitmap = ((BitmapDrawable) resource).getBitmap();
                }
                //卡牌底部出现(加模糊),持续170ms
                showCardBlur(bitmap);
                showPlayRewardView(new RewardModel.RewardData(), cards_big_view, 0); //todo 测试数据,上线前需删除
            }

            @Override
            public void onLoadCleared(@Nullable Drawable placeholder) {

            }
        });
    private synchronized void showCardBlur(Bitmap bitmap) {
        new Thread() {
            @Override
            public void run() {
                recycleBlurBitmap();
                //获取卡片整体区域的view的Bitmap
                try {
                    if(bitmap != null){
                        if(handler == null){
                            handler = new MyHandler();
                        }
                        blurBitmap = BitmapUtils.rsBlur(VideoPlayActivity.this, bitmap, 25);
                        Message message = handler.obtainMessage();
                        message.what = 100; //通知显示高斯模糊
                        handler.sendMessage(message);
                    }
                } catch (Throwable throwable) {
                    throwable.printStackTrace();
                }
            }
        }.start();
    }
if(msg.what == MSG_BLUR_BITMAP){
                //todo 高斯模糊
                cards_big_view.iv_big_icon.setImageBitmap(blurBitmap);
                handler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        ImageLoaderUtils.loadRoundCornerImg(VideoPlayActivity.this,"https://.../uploads/20210813143221243.png" + "?x-oss-process=image/resize,w_" + CommonUtil.dip2px(100),cards_big_view.iv_big_icon
                                , CommonUtil.dip2px(15),true,true,false,false);
                    }
                }, 170);
            }
二、通过 Glide 设置 高斯模糊的 BitmapTransformation 转化器
        RoundedCornersTransform roundedCornersTransform = new RoundedCornersTransform(this, CommonUtil.dip2px(15));
        roundedCornersTransform.setNeedCorner(true, true, true, true);
        MultiTransformation<Bitmap> multiTransformation = new MultiTransformation<>(new BlurTransformation(CommonUtil.dip2px(15), 3), roundedCornersTransform);
        Glide.with(this).load("https://.../uploads/20210813143221243.png" + "?x-oss-process=image/resize,w_" + CommonUtil.dip2px(100))
                .apply(RequestOptions.bitmapTransform(multiTransformation))
                .into(cards_big_view.iv_big_icon);
两种方式都要做这个设置
    defaultConfig {
        applicationId ""
        minSdkVersion rootProject.ext.android.minSdkVersion
        targetSdkVersion rootProject.ext.android.targetSdkVersion
        versionCode rootProject.ext.android.versionCode
        versionName rootProject.ext.android.versionName
        multiDexEnabled true
        renderscriptTargetApi 19  //使用renderscript的设置
        renderscriptSupportModeEnabled true //使用renderscript的设置
    }

相关文章

  • Android 网易云音乐图片高斯模糊

    Android 背景图流行使用高斯模糊效果,界面效果会比较好看。分析各种实现方式,实现网易云音乐图片加载高斯模糊背...

  • Android 两种方式实现图片高斯模糊

    一、通过 ImageView 设置 以及加了高斯模糊的 Bitmap 对象 二、通过 Glide 设置 高斯模糊的...

  • Android图片高斯模糊动画

    前言 这里只讲高斯模糊动画的处理,不讨论高斯模糊的处理方式。想看高斯模糊处理的可以参考这个Android 图片高斯...

  • iOS模糊效果

    实现模糊效果的方式有好几种,这里说明其中两种。 1.毛玻璃 2.高斯模糊,将图片处理成高斯模糊。 值得一提的是,将...

  • 实现图片高斯模糊

    转自 湫水长天 的博客湫水长天 的博客地址:http://blog.csdn.net/wl9739 高斯模糊是用的...

  • 图片高斯模糊效果

    iOS开发的时候有的时候需要将图片设置模糊,或者通过点击下拉方法,去除模糊。关于图片实现高斯模糊效果有三种方式,C...

  • Android高效实现图片高斯模糊效果

    目前可以做图片高斯模糊的第三方图片加载工具有很多,比如现在用得比较火的图片加载工具:glide等工具都可以完成图片...

  • Android实现高斯模糊

    高斯模糊类 引用 使用代码

  • android 图片 高斯模糊 Blur Android

    最近做的一个项目中要实现 图片模糊作为背景 查找了相关资料 有四种方式实现1 官方的 RenderScript ...

  • iOS开发笔记-GPUImage初使用(一)

    由于需要在开发中使用到对于图片的高斯模糊效果,查看了网络上的所有方式,总结了有三个比较常用的方式可以实现模糊效果,...

网友评论

      本文标题:Android 两种方式实现图片高斯模糊

      本文链接:https://www.haomeiwen.com/subject/czbtdrtx.html