jjk_by 2017-12-04 05:28 采纳率: 0%
浏览 3232

求教,Unity3D 如何 截屏高于分辨率 的 texture

    比如用unity3D导出的应用跑4K分辨率,想截取左下4分之一屏的 保存一张 texture,分辨率也为4K,有没有大神知道??
        使用ScreenCapture.CaptureScreenshot() 虽然能整体放大数倍,但是无法设置具体的截图范围和大小。
         类似以下方法可截取自己设定的位置和大小,但是大小无法大于当前应用运行 的分辨率。
    IEnumerator SavePhoto(Rect rect,string name)
    {
                yield return new WaitForEndOfFrame();
                Texture2D t = new Texture2D(rect.width, rect.height);
        t.ReadPixels(new Rect(0, 0, rect.width, rect.height), 0, 0, false);
        //距X左的距离        距Y屏上的距离  
        // t.ReadPixels(rect, 0, 0, false);  
        t.Apply();
        byte[] byts = t.EncodeToJPG(100);

        File.WriteAllBytes(path_Save + name + ".jpg", byts);
        }
  • 写回答

1条回答

  • Liu_Goodfellow 2018-01-08 02:50
    关注

    原文地址
    希望能帮到您

    评论

报告相同问题?

悬赏问题

  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿