IEnumerator CaptureAreaImg(CaptureAreaImgData captureData, string fullPath) { bCaptureFinish = false; yield return(new WaitForEndOfFrame()); Texture2D screenShot = new Texture2D((int)captureData.imgArea.width, (int)captureData.imgArea.height, TextureFormat.RGB24, false); screenShot.ReadPixels(captureData.imgArea, 0, 0); screenShot.Apply(); byte[] imgBytes = screenShot.EncodeToJPG(); if (fullPath != "") { File.WriteAllBytes(fullPath, imgBytes); } ResNode.DestroyRes(ref screenShot); bCaptureFinish = true; }
/// <summary> /// 截取区域图像 /// </summary> /// <param name="captureData"></param> public void CaptureAreaImage(CaptureAreaImgData captureData) { if (!bCaptureFinish) { return; } if (null == captureData || null == captureData.imgArea || string.IsNullOrEmpty(captureData.fileName)) { return; } if (!Directory.Exists(CaptureTempDir)) { return; } string fullPath = CaptureTempDir + "/" + captureData.fileName; StopAllCoroutines(); StartCoroutine(CaptureAreaImg(captureData, fullPath)); }