unity3d屏幕截图功能

时间:2022-02-03 15:24:06

http://game.ceeger.com/Script/Application/Application.CaptureScreenshot.html

[java] 
function OnGUI(){ 
   if(GUI.Button(Rect(Screen.width*0.5-50,Screen.height*0.5-50,100,100),"screen")){ 
       Application.CaptureScreenshot("Screenshot.png"); 
   } 

【c#】

using UnityEngine;

using System.Collections;

public class example : MonoBehaviour

{

  void OnMouseDown()

  {

    Application.CaptureScreenshot("Screenshot.png");

  }

}

 


function OnGUI(){
   if(GUI.Button(Rect(Screen.width*0.5-50,Screen.height*0.5-50,100,100),"screen")){
       Application.CaptureScreenshot("Screenshot.png");
   }
}

 

这张Screenshot.png图片被存在了当前工程的子目录下了。

 

===========================================================

另外的方法

function ScreenshotEncode()
{
   // wait for graphics to render
    yield WaitForEndOfFrame();

    // create a texture to pass to encoding
    var texture:Texture2D = new Texture2D (Screen.width, Screen.height, TextureFormat.RGB24, false);

   // put buffer into texture
    texture.ReadPixels(Rect(0.0, 0.0, Screen.width, Screen.height), 0.0, 0.0);
    texture.Apply();

  // split the process up–ReadPixels() and the GetPixels() call inside of the encoder are both pretty heavy
    yield;

  // create our encoder for this texture
    var encoder:JPGEncoder = new JPGEncoder(texture, 75.0);

  // encoder is threaded; wait for it to finish
    while(!encoder.isDone)
      yield;

  // save our test image (could also upload to WWW)
    File.WriteAllBytes(Application.dataPath + “/../testscreen-” + count + “.jpg”, encoder.GetBytes());
    count++;
}

 

 

//简便方法看下面:

function OnMouseDown() {
    Application.CaptureScreenshot(“Screenshot.png”);
}