蒙版和剪辑 GLSurfaceView

2024-03-18

我使用的 SDK 通过回调提供矩形 glsurfaceview。

我希望能够以圆形布局渲染此视图。 (即)我想在圆形视图上显示视图

我尝试过使用屏蔽布局,例如使用可屏蔽布局https://github.com/christophesmet/android_maskable_layout https://github.com/christophesmet/android_maskable_layout(对于图像效果很好,对于视频效果不太好)

我该如何将其剪切并渲染为圆形?

(背景不断变化,所以我无法在此视频视图之上叠加透明视图。目的是获得一个矩形 glsurface 视图,其顶部有一个圆形 glsurface 视图)

**UI Objective : ** enter image description here


我现在对一个项目有几乎相同的要求,其中涉及屏蔽由PexKit https://github.com/pexip/pexkit-sdk。对我有用的解决方案是创建 FrameLayout (或任何其他 ViewGroup)的子类并将 GLSurfaceView 放入其中。

然后在FrameLayout子类中使用canvas.clipPath:

private Path clippingPath;

@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
    if (w != oldw || h != oldh) {
        int radius = Math.min(w, h)/2;
        clippingPath = new Path();
        clippingPath.addCircle(w/2, h/2, radius, Path.Direction.CW);
    }
}

@Override
protected void dispatchDraw(Canvas canvas) {
    int count = canvas.save();
    canvas.clipPath(clippingPath);
    super.dispatchDraw(canvas);
    canvas.restoreToCount(count);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

蒙版和剪辑 GLSurfaceView 的相关文章

随机推荐

  • 如何在 Mac 上恢复 .bash_profile?我的 Unix 终端都无法工作 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在尝试将 Playframework 添加到我的路径时向我的 bash profile 添加了一些内容 但有些内容严重混乱 我将以下行添
  • Angular2-Webpack-Typescript - 3rd 方库

    我开始了一个美丽的种子项目 https github com AngularClass angular2 webpack starter https github com AngularClass angular2 webpack star
  • 在构建时设置.net core库程序集/文件/nuget包版本

    我正在寻找一种在构建时设置 net core 库的程序集版本 以及文件版本和 nuget 包版本 的方法 我的库是使用最新的 Visual Studio 2017 RC 编写的 因此不再需要projects json文件 并由 TeamCi
  • iOS UI 元素移植到 Android 上

    女士们 先生们 在我的工作中 在开发 Android 应用程序时 我经常满足客户的以下要求 使其看起来像 iPhone 应用程序 是的 我知道 最好的方法是为他提供规范的 Android 设计 其中包含所有这些模式 例如仪表板 使用菜单按钮
  • Firestore (9.6.6):连接 WebChannel 传输错误:

    在反应应用程序中 我在同一个文件中有两个几乎相同的函数来将文档添加到子集合中 一个每次都有效 另一个使用不同的子集合 大多数时候都会收到以下警告 注意 不是错误 并且不会添加数据 await addDoc collection db use
  • 使用 XLW 项目和 Visual Studio 2022 C++ 构建和调试 Excel 加载项

    我正在使用以下命令创建 Excel 加载项XLW https github com xlw xlwGitHub 上的 Visual Studio 2022 C 项目 我做了以下事情 创建一个解决方案 MyFunction 其中包含两个项目
  • 来自 的警报对话框被阻止

    当我使用 webview 并显示此错误时 Dart 不显示警报对话框 警报对话框被阻止 扩展名 webViewEvents 225 确认对话框被阻止 扩展名 webViewEvents 225 有谁知道如何绕过该问题或如何捕获错误 Than
  • 在 IE 10 中使用复合键创建索引时出现 DataError

    我正在使用 IE10 测试基于 indexedDB 的应用程序 我无法创建具有多个键的对象存储 例如 var objectStore theDb createObjectStore store1 keyPath key1 key2 当我尝试
  • 在Python中生成字典树中的所有叶到根路径

    我有一个 非标准 形式的字典树 如下所示 tree 0 A B C D E F 叶节点被定义为字典键值对 其中值是空字典 我想将所有叶到根路径提取为列表列表 如下所示 paths C B A 0 E D 0 F D 0 如果有帮助的话 也可
  • 如何使用 Firebase Analytics 定义受众群体?

    我想通过使用自定义属性分隔应用程序的受众来跟踪它们 每个用户都有一个权限列表 我希望在登录我的应用程序时能够使用此属性将它们分开 目前 所有用户都属于 所有用户 类别 而不是单独的类别 我使用 CEO 登录超过 10 次 并且等待了几天 不
  • Openssl 从 CSR 创建证书(无私钥 - 存储在另一个系统中)

    我需要创建一个基于CSR由第三方生成我无权访问私钥 生成的证书需要有keyUsage keyCertSign至少作为证书的一部分 C OpenSSL Win32 bin openssl exe req in C xampp htdocs c
  • FTP 对 PASV 命令的响应应该是什么

    我正在编写一个 FTP 服务器 但我不理解 PASV 命令 任何服务器都会发送如下响应 227 Entering Passive Mode 213 229 112 130 216 4 括号里的数字是什么意思 普通模式和被动模式有什么区别 是
  • 在 WooCommerce 中显示促销购物车商品格式的价格范围

    我尝试在购物车和结帐页面中显示每个产品的小计价格和销售价格 我已经设法使用以下代码将销售价格 24TL 添加到正常价格 33TL Show sale prices on the Cart and Checkout pages functio
  • 核心和处理器之间的区别

    核心和处理器有什么区别 我已经在谷歌上寻找过它 但我只得到了多核和多处理器的定义 这不是我正在寻找的 核心通常是 CPU 的基本计算单元 它可以运行单个程序上下文 如果支持硬件线程 例如 Intel CPU 上的超线程 则可以运行多个程序上
  • Thread.sleep 和重绘

    我有一个显示文本的面板 我希望面板更改其文本 然后在发生其他情况之前让应用程序暂停 我正在使用 Thread sleep 1000 但由于某种原因 应用程序在调用 Thread sleep 之前没有完成面板的绘制 文本没有更改 我也尝试过这
  • GCC 中格式错误的 C/C++ 多维数组初始化

    我想我明白填充如何以正确的格式工作 即 char arr 3 2 1 4 5 相当于 char arr 3 2 1 0 4 5 0 0 而且 为了好玩 我决定向 GCC 抛出不良格式 看看它会返回什么 对于以下代码 char arr 3 3
  • 我可以将图像/位图转换为 writeablebitmap 吗?

    我有两个位图图像 我想将它们合并在一起 我发现我可以使用 writeablebitmap 做到这一点 但是如何首先将这些图像转换为 writeablebitmap UPDATE 我找不到直接将位图转换为可写位图的方法 因此我所做的是将位图写
  • 在“.describe()”中显示 pandas-dataframe 的所有列

    我被困在这里 但我这是一个由两部分组成的问题 查看 describe include all 的输出 并非所有列都显示 如何显示所有列 这是我在使用 Spyder 时经常遇到的一个常见问题 即如何在控制台中显示所有列 任何帮助表示赞赏 im
  • 元素内部的#shadow-root 是什么?

    我今天看到了一些奇怪的事情 查看与该帖子相关的图片 如下 我已经做了一个输入 type text 它是屏幕图片上的 1 它的 css 看起来像这样 table tbody input width 40px border none heigh
  • 蒙版和剪辑 GLSurfaceView

    我使用的 SDK 通过回调提供矩形 glsurfaceview 我希望能够以圆形布局渲染此视图 即 我想在圆形视图上显示视图 我尝试过使用屏蔽布局 例如使用可屏蔽布局https github com christophesmet andro