乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      從Unity Game在Android應(yīng)用程序上共享圖像

       印度阿三17 2019-10-12

      玩家死亡時,我已經(jīng)在游戲中捕獲了屏幕截圖.我正在按照以下代碼捕獲屏幕快照.

      RenderTexture rt = new RenderTexture (800, 600, 24);
          MainCamera.targetTexture = rt;
          Texture2D texture = new Texture2D (800, 600, TextureFormat.RGB24, false);
          MainCamera.Render ();
          RenderTexture.active = rt;
          texture.ReadPixels (new Rect (0, 0, 800, 600), 0, 0);
          MainCamera.targetTexture = null;
          RenderTexture.active = null;
          Destroy (rt);
          byte[] bytes = texture.EncodeToPNG ();
          Directory.CreateDirectory (Application.persistentDataPath   "/GameOverScreenShot");
          File.WriteAllBytes (Application.persistentDataPath   "/GameOverScreenShot"   "/DiedScreenShot.png", bytes);
      

      我正在使用以下代碼保存屏幕截圖.

      byte[] bytes = File.ReadAllBytes (Application.persistentDataPath  "/GameOverScreenShot"   "/BirdDiedScreenShot.png");
      
      Texture2D texture = new Texture2D (800, 600, TextureFormat.RGB24, false);
      RectOffset tempOffset = new RectOffset (5, 5, 5, 5);
      texture.filterMode = FilterMode.Trilinear;
      texture.LoadImage (bytes);
      Sprite sprite = Sprite.Create (texture, new Rect (0, 0, 800, 400), new Vector2 (0.5f, 0.0f), 2.0f);
      ScreenShot_Image.GetComponent<Image> ().sprite = sprite;
      

      現(xiàn)在,我想在Android應(yīng)用程序上共享此屏幕截圖.根據(jù)我的研究,我已經(jīng)獲得了以下代碼,但是它返回的是空白圖像.

      //instantiate the class Intent
      AndroidJavaClass intentClass = new AndroidJavaClass("android.content.Intent");
      
      //instantiate the object Intent
      AndroidJavaObject intentObject = new AndroidJavaObject("android.content.Intent");
      
      //call setAction setting ACTION_SEND as parameter
      intentObject.Call<AndroidJavaObject>("setAction", intentClass.GetStatic<string>("ACTION_SEND"));
      
      //instantiate the class Uri
      AndroidJavaClass uriClass = new AndroidJavaClass("android.net.Uri");
      
      //instantiate the object Uri with the parse of the url's file
      string destination = Application.persistentDataPath   "/GameOverScreenShot"   "/DiedScreenShot.png";
      AndroidJavaObject uriObject = uriClass.CallStatic<AndroidJavaObject>("parse","file://" destination);
      
      //call putExtra with the uri object of the file
      intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_STREAM"), uriObject);
      
      //set the type of file
      intentObject.Call<AndroidJavaObject>("setType", "image/*");
      
      //instantiate the class UnityPlayer
      AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
      
      //instantiate the object currentActivity
      AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject>("currentActivity");
      
      //call the activity with our Intent
      currentActivity.Call("startActivity", intentObject);
      

      在這方面我應(yīng)該改變什么?請幫助,提前謝謝

      解決方法:

      只需調(diào)用takeScreenShotAndShare()即可截屏并共享它.如果您已經(jīng)有要共享的圖像,只需調(diào)用StartCoroutine(shareScreenshot(path));.并傳遞圖像的路徑/位置.這僅支持png圖像.要共享jpeg,請更改

      intentObject.Call<AndroidJavaObject>("setType", "image/png");
      

      intentObject.Call<AndroidJavaObject>("setType", "image/jpeg");
      

      整個代碼:

      void takeScreenShotAndShare()
      {
          StartCoroutine(takeScreenshotAndSave());
      }
      
      private IEnumerator takeScreenshotAndSave()
      {
          string path = "";
          yield return new WaitForEndOfFrame();
      
          Texture2D screenImage = new Texture2D(Screen.width, Screen.height);
      
          //Get Image from screen
          screenImage.ReadPixels(new Rect(0, 0, Screen.width, Screen.height), 0, 0);
          screenImage.Apply();
      
          //Convert to png
          byte[] imageBytes = screenImage.EncodeToPNG();
      
      
          System.IO.Directory.CreateDirectory(Application.persistentDataPath   "/GameOverScreenShot");
          path = Application.persistentDataPath   "/GameOverScreenShot"   "/DiedScreenShot.png";
          System.IO.File.WriteAllBytes(path, imageBytes);
      
          StartCoroutine(shareScreenshot(path));
      }
      
      private IEnumerator shareScreenshot(string destination)
      {
          string ShareSubject = "Picture Share";
          string shareLink = "Test Link"   "\nhttps:///questions/36512784/share-image-on-android-application-from-unity-game";
          string textToShare = "Text To share";
      
          Debug.Log(destination);
      
      
          if (!Application.isEditor)
          {
      
              AndroidJavaClass intentClass = new AndroidJavaClass("android.content.Intent");
              AndroidJavaObject intentObject = new AndroidJavaObject("android.content.Intent");
              intentObject.Call<AndroidJavaObject>("setAction", intentClass.GetStatic<string>("ACTION_SEND"));
              AndroidJavaClass uriClass = new AndroidJavaClass("android.net.Uri");
              AndroidJavaObject uriObject = uriClass.CallStatic<AndroidJavaObject>("parse", "file://"   destination);
      
              intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_STREAM"), uriObject);
              intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_TEXT"), textToShare   shareLink);
              intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_SUBJECT"), ShareSubject);
              intentObject.Call<AndroidJavaObject>("setType", "image/png");
              AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
              AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject>("currentActivity");
              currentActivity.Call("startActivity", intentObject);
          }
          yield return null;
      }
      
      來源:https://www./content-1-504951.html

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多