Android RenderScript-toolkit库,替换老式的脚本方式(常用于高斯模糊)

此工具包提供了一系列高性能图像处理函数,例如模糊、混合和调整大小。它可以作为大多数已弃用的 RenderScript 内部函数的独立替代品。

支持16k page size

支持16k page size

支持16k page size

回顾 RenderScript Intrinsics

曾经我们要实现高斯模糊,都会用到RenderScript Intrinsics的方式。

老的方式,会用到如下配置:

markdown 复制代码
        android {
            compileSdkVersion 33

            defaultConfig {

                // 这里需要增加此项配置
                renderscriptTargetApi 19
                renderscriptSupportModeEnabled true
            }
        }

是否勾起了你的记忆。

使用方式我就不赘述了,不是本篇重点

过时的 RenderScript Intrinsics

以下摘抄自Google原文:

从 Android 12 开始,RenderScript API 已被废弃。设备和组件制造商已停止提供硬件加速支持,预计将在未来的版本中完全取消对 RenderScript 的支持。
在 Android 平台中废弃 RenderScript 后,将在 Android Gradle 插件中取消对 RenderScript 的支持。从 Android Gradle 插件 7.2 开始,废弃了 RenderScript API。它们会继续正常运行,但会产生警告。未来的 AGP 版本将不再支持 RenderScript。

官方迁移文档:从 Render​Script 迁移

Renderscrip-Toolkit

以下为官方翻译:

与 RenderScript Intrinsics 相比,此工具包使用起来更简单,在 CPU 上执行速度也快一倍。然而,RenderScript Intrinsics 在支持的分配类型方面提供了更大的灵活性。此工具包不支持浮点型分配;大多数函数支持字节数组 (ByteArray) 和位图 (Bitmap)。
该工具包提供 C++ 和 Java/Kotlin 接口。它被打包为一个 Android 库,您可以将其添加到您的项目中。

Google 提供了 Renderscrip-Toolkit 工具,但是只给了源代码,没有直接打包成aar提供使用,所以需要自行编译。

包含功能

  • 混合模式
  • 高斯模糊
  • 颜色矩阵滤镜
  • 盲卷积
  • 直方图和直方图点
  • LUT和LUT3D
  • 调整大小
  • YUV to RGB

添加依赖

scss 复制代码
implementation("io.github.limuyang2:renderscrip-toolkit:1.0.2")

使用方法

使用Toolkit调用各类方法。

kotlin 复制代码
// 例:高斯模糊
val newBitmap = Toolkit.blur(inputBitmap, 20)

// 剩下的可以直接查看 Toolkit 类中方法

项目地址

RenderScript-toolkit

相关推荐
jiushiapwojdap1 小时前
Flutter上手记:为什么我的按钮能同时在iOS和Android上跳舞?[特殊字符][特殊字符]
android·其他·flutter·ios
柿蒂4 小时前
产品需求驱动下的技术演进:动态缩放View的不同方案
android·kotlin·android jetpack
Andy_GF6 小时前
鸿蒙Next在蒲公英平台分发测试包
android·ios·harmonyos
恋猫de小郭7 小时前
iOS 26 正式版即将发布,Flutter 完成全新 devicectl + lldb 的 Debug JIT 运行支持
android·前端·flutter
幻雨様8 小时前
UE5多人MOBA+GAS 54、用户登录和会话创建请求
android·ue5
Just_Paranoid8 小时前
【SystemUI】锁屏来通知默认亮屏Wake模式
android·framework·systemui·keyguard·aod
没有了遇见8 小时前
Android +,++,+= 的区别
android·kotlin
_无_妄_9 小时前
Android 使用 WebView 直接加载 PDF 文件,通过 JS 实现
android