Unity将RenderTexture转成一张图片并剪裁保存到本地

来源:互联网 发布:美国救护车 费用 知乎 编辑:程序博客网 时间:2024/05/16 05:24

这里写图片描述


    //将RenderTexture保存成一张png图片      public bool SaveRenderTextureToPNG(RenderTexture rt, string contents, string pngName)    {        RenderTexture prev = RenderTexture.active;        RenderTexture.active = rt;        Texture2D png = new Texture2D(rt.width, rt.height, TextureFormat.ARGB32, false);        png.ReadPixels(new Rect(0, 0, rt.width, rt.height), 0, 0);        byte[] bytes = png.EncodeToPNG();        if (!Directory.Exists(contents))            Directory.CreateDirectory(contents);        FileStream file = File.Open(contents + "/" + pngName + ".png", FileMode.Create);        BinaryWriter writer = new BinaryWriter(file);        writer.Write(bytes);        file.Close();        Texture2D.DestroyImmediate(png);        png = null;        RenderTexture.active = prev;        return true;    }  

这里写图片描述


截取前图片为如下:
这里写图片描述


剪切后画面如下:
这里写图片描述


关于剪裁我想说明如下:
照片需要放在画布上
从照片的哪个位置开始剪裁,剪多宽和多高
剪裁完毕的图片相对于画布,摆在画布的哪个位置

QQ技术交流群:386476712

阅读全文
0 0
原创粉丝点击