Skip to main content
 首页 » 资源教程 » Vuforia教程

Vuforia应用之屏幕截图功能

2016年09月06日 21:48:398960

关于AR应用,一个简单的屏幕截图功能可以让你把原本绚丽多彩分享给其他小伙伴,一起快乐的玩耍,科技生活,有趣世界。不说了,直接上代码:

[csharp] view plain copy
  1. using UnityEngine;  
  2. using System.Collections;  
  3. using System.IO;  
  4.   
  5. public class GalleryScreenshotExample : MonoBehaviour {  
  6.       
  7.     public Texture2D texture;  
  8.     bool saved = false;  
  9.     bool saved2 = false;  
  10.       
  11.     void Start ()  
  12.     {  
  13.         ScreenshotManager.ScreenshotFinishedSaving += ScreenshotSaved;    
  14.         ScreenshotManager.ImageFinishedSaving += ImageSaved;  
  15.     }  
  16.       
  17.     void OnGUI ()  
  18.     {  
  19.         GUILayout.Label("Example scene showing: \n1. how to save a screenshot\n" +  
  20.                         "2. how to save an image from your assets");  
  21.           
  22.         if(GUILayout.Button ("Take Screenshot", GUILayout.Width (200), GUILayout.Height(80)))  
  23.         {     
  24.             StartCoroutine(ScreenshotManager.Save("MyScreenshot""Czd"true));  
  25.         }  
  26.           
  27.         if(saved) GUILayout.Label ("Screenshot was successfully saved");  
  28.           
  29.         GUILayout.Space(40);  
  30.           
  31.         GUILayout.Label(texture);  
  32.           
  33.         if(GUILayout.Button ("Save " + texture.name, GUILayout.Width (200), GUILayout.Height(80)))  
  34.         {     
  35.             StartCoroutine("SaveAssetImage");  
  36.         }  
  37.           
  38.         if(saved2) GUILayout.Label(texture.name + " was successfully saved");  
  39.     }  
  40.       
  41.     IEnumerator SaveAssetImage ()  
  42.     {  
  43.         byte[] bytes = texture.EncodeToPNG();  
  44.         string path = Application.persistentDataPath + "/MyImage.png";  
  45.         File.WriteAllBytes(path, bytes);  
  46.           
  47.         yield return new WaitForEndOfFrame();  
  48.           
  49.         StartCoroutine(ScreenshotManager.SaveExisting(path, true));  
  50.     }  
  51.       
  52.     void ScreenshotSaved()  
  53.     {  
  54.         Debug.Log ("screenshot finished saving");  
  55.         saved = true;  
  56.     }  
  57.       
  58.     void ImageSaved()  
  59.     {  
  60.         Debug.Log (texture.name + " finished saving");  
  61.         saved2 = true;  
  62.     }  
评论列表暂无评论
发表评论