Unity开发里面经常碰到截屏需求 RenderTexture renderTexture = RenderTexture.GetTemporary(width, height, 16);
这句代码数据截屏代码中常用到的一句,其中width, height参数最后决定了什么?
根据传入的宽高比,以高为基准,得到的RenderTexture的显示画面的内容,宽度为高*(宽/高)
图片像素大小为width, height大小
比如:
当前屏幕分辨率是1280 * 720,
传入的参数width, height为500,500(宽高比小于屏幕画面)
那么GetTemporary得到的结果是,首先,传入的参数宽高比为1:1,那么真实最后得到的RenderTexture的画面为,摄像机框内宽720,高720的内容,以视框中心截取。RenderTexture的像素大小为500*500
当传入的参数为width, height为6000,1500(以高为基准,宽度为高的4倍,已经超出摄像机范围很多了)
那么GetTemporary得到的结果是,首先,传入的参数宽高比为4:1,那么真实最后得到的RenderTexture的画面为,摄像机框的宽2800(超出摄像机范围,但是能截取到超出范围内的内容),高720的内容,以视框中心截取。RenderTexture的像素大小为6000,1500