方案1:截屏保存,再显示。
核心知识:
1,Application.CaptureScreenshot("wuk.png");Unity会自动截屏保存在 Application.persistentDataPath+"/"+"wuk.png";
2,WWW 网页;
3,获取权限;
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
例1:
- public Material image;
-
-
- void Awake(){
- Application.CaptureScreenshot("wuk.png");
- }
- void Start () {
-
- StartCoroutine(getCapture());
-
- }
-
- IEnumerator getCapture(){
-
- path=Application.persistentDataPath;
-
- Debug.Log("path "+path);
- www=new WWW("file://"+path+"/wuk.png");
- yield return www;
- image.mainTexture=www.texture;
- }
复制代码 方案2:保存指定屏幕区域为png,并显示;
核心知识:
Texture2D.ReadPixels;System.IO.File.WriteAllBytes;
关键方法:
Texture2D.ReadPixels; Texture2D.Apply();Texture2D.EncodeToPHG;
例1:
- string path=Application.persistentDataPath+"/wukuaTurret.jpg";
- public Material image;
-
-
- IEnumerator getTexture2d() {
- yield return new WaitForEndOfFrame();
- Texture2D t = new Texture2D(200, 180);
-
- t.ReadPixels(new Rect(200, 320, 200, 180), 0, 0, false);
- t.Apply();
-
- byte[] byt = t.EncodeToPNG();
-
- System.IO.File.WriteAllBytes(path, byt);
- }
- IEnumerator getCaptureFf(){
- path=Application.persistentDataPath;
- Debug.Log("path "+path);
- www=new WWW("file://"+path+"/Screenshot.png");
- yield return www;
- image.mainTexture=www.texture;
- }
复制代码 |