Example #1
0
    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;
    }
Example #2
0
    /// <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));
    }