Unity--截取屏幕任意区域
直接上代码:
using System.IO;
void Update () {if(Input.GetKeyDown(KeyCode.A)){StartCoroutine(getScreenTexture()); //unity 自带截屏,只能是截全屏Application.CaptureScreenshot("shot.png");}}public int capx=0;public int capy=0;public int capwidth=700;public int capheight=500;IEnumerator getScreenTexture() { yield return new WaitForEndOfFrame(); Texture2D t = new Texture2D(capwidth, capheight,TextureFormat.RGB24, true);//需要正确设置好图片保存格式 t.ReadPixels(new Rect(capx,capy,capwidth,capheight), 0, 0, false);//按照设定区域读取像素;注意是以左下角为原点读取 t.Apply(); //二进制转换 byte[] byt = t.EncodeToPNG(); File.WriteAllBytes(Application.dataPath + Time.time + ".png", byt); }
http://blog.csdn.net/tanmengwen/article/details/8501612