首页 > 编程语言 > 详细

Unity中将相机截图保存本地后颜色变暗的解决方法

时间:2020-11-09 10:00:17      阅读:89      评论:0      收藏:0      [点我收藏+]

最近要用Unity脚本在运行时截取相机图片,但是保存到本地后图片总是变暗。
技术分享图片
结果发现是不可以预先创建一个rendertexture赋值给相机的targetTexture,必须在脚本里动态创建。参考链接
具体代码如下:

var oldT = RenderTexture.active;
var renderTextureTmp = RenderTexture.GetTemporary(1920, 1080, 32);
RenderTexture.active = cameraForScreenShot.targetTexture = renderTextureTmp;
cameraForScreenShot.Render();       
var tmpTexture2D = new Texture2D(cameraForScreenShot.targetTexture.width, cameraForScreenShot.targetTexture.height);
tmpTexture2D.ReadPixels(new Rect(0, 0, cameraForScreenShot.targetTexture.width, cameraForScreenShot.targetTexture.height), 0, 0);
tmpTexture2D.Apply();
File.WriteAllBytes(path, tmpTexture2D.EncodeToPNG());
Destroy(tmpTexture2D);
RenderTexture.active = oldT;
cameraForScreenShot.targetTexture = null;
RenderTexture.ReleaseTemporary(renderTextureTmp);

成功拯救图片!
技术分享图片

Unity中将相机截图保存本地后颜色变暗的解决方法

原文:https://www.cnblogs.com/yaoling1997/p/13946437.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!