首页 > 代码库 > Unity--截取屏幕任意区域

Unity--截取屏幕任意区域

原地址:http://blog.csdn.net/tanmengwen/article/details/8501612

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);    }