当前位置: 首页 > 知识库问答 >
问题:

高效地从TextureView中获取位图

朱啸
2023-03-14
textureView.getBitmap();

结果在性能较慢的情况下,有一种更快的方法来获得位图。使用NDK是否更好?

查找实际示例

共有1个答案

戴嘉珍
2023-03-14

TextureView接收SurfaceTexture上的帧,SurfaceTexture接收发送到其表面的帧并将其转换为GLES纹理。要获取像素数据,必须将纹理呈现到framebuffer,然后用glreadpixels()读取。然后可以用位图对象包装像素数据(这可能涉及复制像素数据,也可能不涉及复制像素数据)。

使用NDK对您没有多大好处,因为所有需要快速运行的代码都已经在本地实现了。

通过将数据直接发送到SurfaceTexture并自己执行GLES工作,您可能会看到一些改进,但可能您希望在TextureView中显示传入的帧,因此您可能节省的只是位图开销(这可能很重要,也可能不重要)。

 类似资料:
  • 问题内容: 我正在尝试使用TensorFlow实现异步参数服务器DistBelief样式。我发现最小化()分为两个函数,compute_gradients和apply_gradients,所以我的计划是在它们之间插入网络边界。我有一个问题,如何同时评估所有梯度并将其全部拉出。我知道eval仅评估必要的子图,但它也仅返回一个张量,而不返回计算该张量所需的张量链。 我怎样才能更有效地做到这一点?我以D

  • 我的MYSQL数据库包含5行 图像类型为BLOB。

  • Since 8.1 getLocation 该接口已经不建议使用, 请调用新接口getCurrentLocation getLocation用来获取用户当前的地理位置信息 使用方法 AlipayJSBridge.call('getLocation', function (result) { alert(JSON.stringify(result)); }); 代码演示 获取用户详细地理位置信

  • 地理位置 获取地理位置信息 Tida.geolocation.getCurrentPosition(function(result) { if (result.errorCode) { // data.errorCode 错误码 只有为0时才是成功的 console.error(result.errorCode, result.errorMessage);

  • 在我的应用程序中,我必须为通知设置一个大图标。LargeIcon必须是位图,我的可绘制内容是矢量图像(Android中的新功能,请参见此链接)。问题是,当我尝试解码矢量图像资源时,返回空值。 以下是代码示例: 在本示例中,当我替换R.drawable时。vector_menu_objectifs带有“普通”图像,例如png,结果不为空(我得到了正确的位图)是否缺少什么?

  • 问题内容: 问题 从地图中获取数据 资料格式 注意 如何从上述结果中获得以下值 1.Event_dtmReleaseDate 2.strID 3.Trans_strGuestList 我试过的 res.Map(“ Event_dtmReleaseDate”); 错误:res.Map未定义(类型map [string] interface {}没有字段或方法Map) res.Event_dtmRel