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

相关推荐
恋猫de小郭2 分钟前
Flutter 3.47 发布,快来看看有什么更新吧
android·前端·flutter
2501_937860942 小时前
MySQL表的操作:创建、查看、修改、删除完整实战
android·数据库·mysql
我就是妖怪12 小时前
KMP全栈开发:从Android到AI Agent的技术演进与实践
android·人工智能
心平气和量大福大13 小时前
android-实例-蒲公英-更新与安装-5-签名与生成APK
android·java·开发语言
阿pin14 小时前
Android随笔-Serializable与Parcelable
android·serializable·parcelable
天空之城--15 小时前
Android 事件分发机制深度解析——原理、源码与实战综合总结
android
阿pin15 小时前
Android随笔-AIDL
android·开发语言·aidl
2501_9160074716 小时前
Bundle ID 注册与管理 App ID 创建指南 命名规则 权限开关与删除注意事项
android·ios·小程序·https·uni-app·iphone·webview
雨白16 小时前
面向对象六大基本原则实战:从零重构支持引擎切换的网络框架
android·架构
张赐荣17 小时前
Android TalkBack 无障碍优化: 为控件自定义转子导航动作
android·microsoft