Unity截取RenderTexture某帧画面显示在Image上
public Camera cam;
public Image im;
RenderTexture fullBodyRender;
Texture2D fullBodyTex;
Sprite s;
private void Start()
{
fullBodyRender = cam.targetTexture;
}
void JieTu()
{
fullBodyTex = getTexture2d(fullBodyRender);
s = Sprite.Create(fullBodyTex, new Rect(0, 0, fullBodyTex.width, fullBodyTex.height), Vector2.zero);
im.gameObject.SetActive(true);
im.sprite = s;
}
public Texture2D getTexture2d(RenderTexture renderT)
{
if (renderT == null)
return null;
int width = renderT.width;
int height = renderT.height;
Texture2D tex2d = new Texture2D(width, height, TextureFormat.ARGB32, false);
RenderTexture.active = renderT;
tex2d.ReadPixels(new Rect(0, 0, width, height), 0, 0);
tex2d.Apply();
return tex2d;
}