Beispiel #1
0
    private IEnumerator SaveImage()
    {
        if (flash == null)
        {
            flash       = GameObject.Instantiate(view.gameObject, view.transform.parent, false).GetComponent <Image>();
            flash.color = Color.clear;
            flash.transform.SetSiblingIndex(flash.transform.parent.childCount - 1);
            flash.material = null;
        }
        flash.gameObject.SetActive(false);
        view.transform.GetChild(0).gameObject.SetActive(false);
        check.gameObject.SetActive(false);

        yield return(new WaitForEndOfFrame());

        Rect      snap = RectTransformToScreenSpace(view.rectTransform);
        Texture2D ss   = new Texture2D((int)snap.width, (int)snap.height, TextureFormat.RGB24, false);

        ss.ReadPixels(snap, 0, 0);
        ss.Apply();
        yield return(new WaitForEndOfFrame());

        view.transform.GetChild(0).gameObject.SetActive(true);
        check.gameObject.SetActive(true);
        if (flash != null)
        {
            flash.gameObject.SetActive(true);
        }


        LeanTween.value(Camera.main.gameObject, (float val) =>
        {
            if (flash != null)
            {
                flash.color = new Color(0, 0, 0, val);
            }
        }, 0, 0.5f, 0.15f).setEaseInQuad().setLoopPingPong(1).setOnComplete(() =>
        {
            if (flash != null)
            {
                Destroy(flash.gameObject);
            }
        });



        // Save the screenshot to Gallery/Photos
        // NativeGallery.SaveImageToGallery(persis, ss, callback);
        MobileMedia.SaveImage(ss, "Live Portrait Maker", new FilePathName().GetPngFileName(), MobileMedia.ImageFormat.PNG);


        Destroy(ss);
        SeeEverything();
    }
Beispiel #2
0
 IEnumerator SaveVidFile()
 {
     while (saved == false)
     {
         yield return(null);
     }
     saved = false;
     byte[] read_ = File.ReadAllBytes(vidPath);
     Debug.Log("SAVING GIF");
     MobileMedia.SaveBytes(read_, "Live Portrait Maker", "LPM{0}", ".gif", true);
     Directory.Delete(vidPath);
 }