Unity抓取相机截图/抓取屏幕截图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity抓取相机截图/抓取屏幕截图相关的知识,希望对你有一定的参考价值。

参考技术A

在项目中,我们会遇到需要抓取相机截图,然后作为UI背景的需求。一般的思路如下:

处理将该渲染纹理作为UI背景,我们还可以充分利用该纹理做一些屏幕后处理特效加工。

与相机截图不一样的是,该屏幕截图会抓取所有渲染之后的结果(包含所有相机、UI渲染结果),相当于在手机上直接截图屏幕。

由于该截图需要获取到所有渲染,所以我们需要在所有渲染完毕后调用方法,因此会利用到携程的 WaitForEndOfFrame 对象。

这里我们用到的是 Texture2D ReadPixels() 方法来采集渲染信息,而没有采用 RenderTexture ,有需要的话可以使用 Graphics.Blit(Texture source, RenderTexture dest); 将源纹理复制到目标渲染纹理中。

Youtube API - 在特定时间抓取视频的屏幕截图

【中文标题】Youtube API - 在特定时间抓取视频的屏幕截图【英文标题】:Youtube API - Grab screenshot of a video at a specific time 【发布时间】:2015-01-07 03:50:51 【问题描述】:

我希望在特定时间生成 youtube 视频的高清屏幕截图。假设我有 Youtube 视频 ID (ctiJc4yEVow),我想要 1:32 出现的屏幕截图。有没有一种干净且易于实施的方法来做到这一点?我已经阅读了使用 ffmpeg 和一些杂项草率代码的方式,但没有任何可靠的。

我唯一看到的是如何为视频生成图像,不特定于任何时间。

https://i1.ytimg.com/vi//default.jpg

我的问题是我需要一个特定的时间。请帮忙!

【问题讨论】:

【参考方案1】:

我在官方 API 中看不到任何方法可以做到这一点。他们的Videos:list 和Thumbnails 页面不提供任何方式来做到这一点。

也就是说,你可以链接到你想要的时间,然后截图。这在关闭 YouTube 的自动播放时效果最佳。基于您的帖子的示例链接:youtube.com/watch?v=ctiJc4yEVow&t=1m32s

【讨论】:

以上是关于Unity抓取相机截图/抓取屏幕截图的主要内容,如果未能解决你的问题,请参考以下文章

Unity游戏开发之“屏幕截图”

小功能⭐️Unity截屏功能的实现

小功能⭐️Unity截屏功能的实现

linux 抓屏截图

当相机在Android中的表面视图上以编程方式截屏

ActiveX网页截图插件