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

相关推荐
千里马学框架3 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台3 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
AFinalStone3 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
致远ccc3 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试
ttyyttemo3 天前
Kotlin 协程中的 Job 结构化并发与取消
android
sun0077003 天前
tbox 4g/5g切换,导致wan ip 改变,导致车机旧网络不可用。需要重启车机才行
android
其实防守也摸鱼3 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
AFinalStone3 天前
Android7 SystemUI 源码解析(四)NavigationBar 导航栏与 SystemBars
android·systemui
JMchen3 天前
属性动画原理与高级动画实现
android·kotlin·canvas
AFinalStone3 天前
Android7 SystemUI 源码解析(二)启动流程深度解析
android·systemui