unity截屏截图录屏
企业开发
2023-12-17 15:31:13
阅读次数: 0
unity截屏截图录屏
截取屏幕图像
- 重点推荐用 ScreenCapture.CaptureScreenshotIntoRenderTexture 截取图像,缩放后取回
public class TestScreenShot : MonoBehaviour
{
public Button RecordBtn;
public RawImage ScreenImage;
RenderTexture m_renderTexture;
RenderTexture m_targetTexture;
Texture2D m_captureTexture;
void Start()
{
RecordBtn.onClick.AddListener(OnRecordClick);
}
private void OnRecordClick()
{
StartCoroutine(RecordCoroutine2());
}
IEnumerator RecordCoroutine()
{
yield return new WaitForEndOfFrame();
Texture2D texture = GetCaptureTexture(Screen.width, Screen.height);
texture.ReadPixels(new Rect(0, 0, Screen.width / 2, Screen.height / 2), 0, 0, false);
texture.Apply();
SaveTexture(texture);
}
IEnumerator RecordCoroutine2()
{
yield return new WaitForEndOfFrame();
RenderTexture screen = GetRenderTexture(Screen.width, Screen.height);
ScreenCapture.CaptureScreenshotIntoRenderTexture(screen);
RenderTexture target = GetTargetTexture(Screen.width/2, Screen.height/2);
Graphics.Blit(screen, target, new Vector2(1f, -1f), new Vector2(0f,1f));
RenderTexture.active = null;
SaveTexture(target);
}
IEnumerator RecordCoroutine3()
{
yield return new WaitForEndOfFrame();
ScreenCapture.CaptureScreenshot
转载自blog.csdn.net/qmladm/article/details/131030654