unity3d 将摄像头视野保存到图片
简单的小例子,不做过多说明了:
//把摄像头视野 打印出png图片 private Rect CutRect = new Rect(0, 0, 1, 1); private Image MakeCameraImg(Camera mCam,int width,int height) { Image mImage; RenderTexture rt = new RenderTexture(width, height, 2); mCam.pixelRect = new Rect(0, 0, Screen.width, Screen.height); mCam.targetTexture = rt; Texture2D screenShot = new Texture2D((int)(width * CutRect.width), (int)(height * CutRect.height), TextureFormat.RGB24, false); mCam.Render(); RenderTexture.active = rt; screenShot.ReadPixels(new Rect(width * CutRect.x, width * CutRect.y, width * CutRect.width, height * CutRect.height), 0, 0); mCam.targetTexture = null; RenderTexture.active = null; UnityEngine.Object.Destroy(rt); byte[] bytes = screenShot.EncodeToPNG(); //string filename = Application.dataPath + "/Imgs/Img" // + System.DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss") + ".png"; //System.IO.File.WriteAllBytes(filename, bytes); mImage = Image.GetInstance(bytes); return mImage; }