Unity截取UI

注释

unity 对某一矩形UI进行截取

cpp 复制代码
    /// <summary>
    /// 截取UI
    /// </summary>
    /// <param name="UIRect">UI(中点在最下面)</param>
    /// <param name="mFileName">路径</param>
    /// <returns></returns>
    public IEnumerator CaptureByUI(RectTransform UIRect, string mFileName)
    {
        //等待帧画面渲染结束
        yield return new WaitForEndOfFrame();

        Vector3[] corners = new Vector3[4];
        UIRect.GetWorldCorners(corners);
        float a = corners[2].x - corners[0].x;
        float b = corners[1].y - corners[0].y;
        Texture2D tex = new Texture2D((int)a, (int)b, TextureFormat.RGB24, false);
        //从屏幕读取像素, leftBtmX/leftBtnY 是读取的初始位置,width、height是读取像素的宽度和高度
        tex.ReadPixels(new Rect(corners[0].x, corners[0].y, a, b), 0, 0);
        Debug.Log(new Rect(corners[0].x, corners[0].y, a, b));
        //执行读取操作
        tex.Apply();
        rawImageIcon.texture = tex;
        byte[] bytes = tex.EncodeToPNG();
        //保存
        File.WriteAllBytes(mFileName, bytes);
        //DownLoadImg(bytes);
    }
相关推荐
qcx2310 小时前
Warp源码深度解析(二):自研GPU UI框架——WarpUI的ECH模式与渲染管线
人工智能·ui·设计模式·rust
qq_4523962310 小时前
第十六篇:《如何高效维护UI自动化测试用例:避免“维护地狱”》
ui·自动化·测试用例
凡情11 小时前
android隐私合规检测
android·unity
小贺儿开发11 小时前
Unity3D 本地 Stable Diffusion 文生图效果演示
人工智能·unity·stable diffusion·文生图·ai绘画·本地化
十五年专注C++开发11 小时前
CMake基础: Qt之qt5_wrap_ui
开发语言·c++·qt·ui
jf加菲猫11 小时前
第16章 容器类
开发语言·c++·qt·ui
Swift社区11 小时前
传统游戏引擎 vs 鸿蒙 System 架构
架构·游戏引擎·harmonyos
ZC跨境爬虫12 小时前
跟着 MDN 学 HTML day_5:(原生table表格语义化搭建+CSS轻量化交互美化全实战)
前端·css·ui·html
John_ToDebug21 小时前
隐于无形,触手可及:Chrome 互动滚动条的六个设计密码
chrome·windows·ui
mxwin1 天前
Unity Shader 半透明物体为什么不能写入深度缓冲?
unity·游戏引擎·shader