Android BitmapShader简洁实现马赛克/高斯模糊(毛玻璃),Kotlin(三)

Android BitmapShader简洁实现马赛克/高斯模糊(毛玻璃),Kotlin(三)

发现,如果把(二)

Android BitmapShader简洁实现马赛克,Kotlin(二)-CSDN博客

中的这个函数:

Kotlin 复制代码
    private fun getMosaicBmp(srcBmp: Bitmap): Bitmap {
        val smallBmp = getSmallBmp(srcBmp)

        //空Bitmap
        val dstBmp = Bitmap.createBitmap(mScaleImageW, mScaleImageH, Bitmap.Config.ARGB_8888)

        val srcRectF = RectF(0f, 0f, smallBmp.width.toFloat(), smallBmp.height.toFloat())
        val dstRectF = RectF(0f, 0f, mScaleImageW.toFloat(), mScaleImageH.toFloat())

        val c = Canvas(dstBmp)
        c.drawBitmap(smallBmp, srcRectF.toRect(), dstRectF.toRect(), null)

        return dstBmp
    }

生成返回的Bitmap方式改成简单的这样:

Kotlin 复制代码
    private fun getMosaicBmp(srcBmp: Bitmap): Bitmap {
        val smallBmp = getSmallBmp(srcBmp)

        /*
        //空Bitmap
        val dstBmp = Bitmap.createBitmap(mScaleImageW, mScaleImageH, Bitmap.Config.ARGB_8888)

        val srcRectF = RectF(0f, 0f, smallBmp.width.toFloat(), smallBmp.height.toFloat())
        val dstRectF = RectF(0f, 0f, mScaleImageW.toFloat(), mScaleImageH.toFloat())

        val c = Canvas(dstBmp)
        c.drawBitmap(smallBmp, srcRectF.toRect(), dstRectF.toRect(), null)

        return dstBmp
        
         */

        return Bitmap.createScaledBitmap(smallBmp,mScaleImageW, mScaleImageH,true)
    }

此时,马赛克竟然变成毛玻璃(高斯模糊)的效果,如图:

Android BitmapShader简洁实现马赛克,Kotlin(二)-CSDN博客文章浏览阅读254次,点赞2次,收藏8次。Android拼接合并图片生成长图代码实现合并两张图片,以第一张图片的宽度为标准,如果被合并的第二张图片宽度和第一张不同,那么就以第一张图片的宽度为准线,对第二张图片进行缩放。Android拼接合并图片生成长图代码实现合并两张图片,以第一张图片的宽度为标准,如果被合并的第二张图片宽度和第一张不同,那么就以第一张图片的宽度为准线,对第二张图片进行缩放。Android BitmapShader简洁实现马赛克,Kotlin(一)-CSDN博客。https://blog.csdn.net/zhangphil/article/details/145319095

相关推荐
Ya-Jun3 小时前
常用第三方库:flutter_boost混合开发
android·flutter·ios
_一条咸鱼_4 小时前
深度剖析:Android NestedScrollView 惯性滑动原理大揭秘
android·面试·android jetpack
_一条咸鱼_4 小时前
深度揭秘!Android NestedScrollView 绘制原理全解析
android·面试·android jetpack
_一条咸鱼_4 小时前
揭秘 Android CoordinatorLayout:从源码深度解析其协同工作原理
android·面试·android jetpack
_一条咸鱼_4 小时前
揭秘 Android View 的 TranslationY 位移原理:源码深度剖析
android·面试·android jetpack
_一条咸鱼_4 小时前
揭秘 Android NestedScrollView 滑动原理:源码深度剖析
android·面试·android jetpack
_一条咸鱼_4 小时前
深度揭秘:Android NestedScrollView 拖动原理全解析
android·面试·android jetpack
_小马快跑_4 小时前
重温基础:LayoutInflater.inflate(resource, root, attachToRoot)参数解析
android
_一条咸鱼_4 小时前
揭秘!Android RecyclerView 预取(Prefetch)原理深度剖析
android·面试·android jetpack
_一条咸鱼_4 小时前
揭秘 Android ImageView:从源码深度剖析使用原理
android·面试·android jetpack