SaveRenderTextureToPNG保存贴图到本地

//将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;

    }  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20


截取前图片为如下: 


剪切后画面如下: 


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

QQ技术交流群:386476712
--------------------- 
作者:海涛高软 
来源:CSDN 
原文:https://blog.csdn.net/qq_15267341/article/details/76807238 
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(Shader)