Unity 截屏并保存成PNG


public class Test: MonoBehaviour
{
void Update()
{
if (Input.GetMouseButtonDown(0)) {
StartCoroutine(CaptureScreen(path));
}
}

public IEnumerator CaptureScreen(string savePath)
{
yield return new WaitForEndOfFrame();

var rect = new Rect(0, 0, Screen.width, Screen.height);
Texture2D screenShot = new Texture2D((int)rect.width, (int)rect.height, TextureFormat.RGB24, false);

screenShot.ReadPixels(rect, 0, 0);

screenShot.Apply();

byte[] bytes = screenShot.EncodeToPNG();

var dirPath = "D:/Test/";
if (false == System.IO.Directory.Exists(dirPath))
{
System.IO.Directory.CreateDirectory(dirPath);
}

string filename = dirPath + savePath + ".png";
System.IO.File.WriteAllBytes(filename, bytes);
}
}

参考:https://blog.csdn.net/qq_33337811/article/details/69421936


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM