码迷,mamicode.com
首页 > 编程语言 > 详细

Unity 截屏

时间:2019-06-04 12:35:14      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:for   ima   str   set   数组   enc   cap   photo   tar   

 //截屏
    public void CaptureScreen2(Camera c, Rect r)
    {
        //捕抓摄像机图像并转换成字符数组  
        RenderTexture rt = new RenderTexture((int)r.width, (int)r.height, 0);

        //targetTexture目标纹理
        c.targetTexture = rt;
        //Render手动渲染相机
        c.Render();

        //active目前活跃的渲染纹理
        RenderTexture.active = rt;
        Texture2D screenShot = new Texture2D((int)r.width, (int)r.height, TextureFormat.RGB24, false);
        //读取像素
        screenShot.ReadPixels(r, 0, 0);
        screenShot.Apply();

        //摄像机目标渲染纹理
        c.targetTexture = null;
        RenderTexture.active = null;
        GameObject.Destroy(rt);

        //将此纹理编码为PNG格式。
        byte[] bytes = screenShot.EncodeToPNG();

        string filename = @"d:\photo-whzq\Screenshot.png";
        System.IO.File.WriteAllBytes(filename, bytes);
        PlayerPrefs.SetString(IMAGEFILE, filename); 


    }

  

Unity 截屏

标签:for   ima   str   set   数组   enc   cap   photo   tar   

原文地址:https://www.cnblogs.com/clhxxlcj/p/10972644.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!