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

xiaoxiao2021-02-28  78


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

转载请注明原文地址: https://www.6miu.com/read-74584.html

最新回复(0)