Unity--自定義任意大小截圖功能
阿新 • • 發佈:2019-01-29
最近需要到截圖儲存功能,簡單做個筆記記錄一下。
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class TextPic : MonoBehaviour { public RawImage raw; // Use this for initialization public int capx = 0; public int capy = 0; // Use this for initialization void Start() { } // Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.A)) { //自定義截圖 StartCoroutine(getScreenTexture()); //unity 自帶截圖,只能是截全屏 // Application.CaptureScreenshot("shot.png");5.6 UnityEngine.ScreenCapture.CaptureScreenshot("shot.png");//2018 } } //截圖 IEnumerator getScreenTexture() { yield return new WaitForEndOfFrame(); //需要正確設定好圖片儲存格式 Texture2D t = new Texture2D(Screen.width, Screen.height, TextureFormat.RGB24, true); //按照設定區域讀取畫素;注意是以左下角為原點讀取 t.ReadPixels(new Rect(capx, capy, Screen.width, Screen.height), 0, 0, false); t.Apply(); //二進位制轉換 byte[] byt = t.EncodeToPNG(); raw.texture = t; } }