读书人

Unity-截取荧幕任意区域

发布时间: 2013-01-19 11:41:36 作者: rapoo

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

读书人网 >编程

热点推荐