using UnityEngine;
using System.Collections;
using System.IO;
public class TakeScreenShot : MonoBehaviour
{
//The banknote UITexture
public UITexture banknote;
//Camera uses by NGUI
public UICamera cam;
private IEnumerator ScreenShot()
{
Debug.Log ("Grabbing texture!");
Vector3 bVector
= new Vector3
(banknote
.worldCorners[1].x, banknote
.worldCorners[1].y,
0); Vector3 scaleVector
= new Vector3
(0
.1f, 0
.1f, 0
.1f
);
GameObject obj01 = GameObject.CreatePrimitive(PrimitiveType.Cube);
obj01.transform.position = cam.camera.ScreenToWorldPoint(bVector);
obj01.transform.localScale = scaleVector;
obj01.renderer.material.color = Color.blue;
GameObject obj02 = GameObject.CreatePrimitive(PrimitiveType.Cube);
obj02.transform.position = cam.camera.ScreenToViewportPoint(bVector);
obj02.transform.localScale = scaleVector;
obj02.renderer.material.color = Color.red;
GameObject obj03 = GameObject.CreatePrimitive(PrimitiveType.Cube);
obj03.transform.position = cam.camera.WorldToScreenPoint(bVector);
obj03.transform.localScale = scaleVector;
obj03.renderer.material.color = Color.green;
GameObject obj04 = GameObject.CreatePrimitive(PrimitiveType.Cube);
obj04.transform.position = cam.camera.WorldToViewportPoint(bVector);
obj04.transform.localScale = scaleVector;
obj04.renderer.material.color = Color.yellow;
GameObject obj05 = GameObject.CreatePrimitive(PrimitiveType.Cube);
obj05.transform.localPosition = cam.camera.ScreenToWorldPoint(bVector);
obj05.transform.localScale = scaleVector;
obj05.renderer.material.color = Color.cyan;
GameObject obj06 = GameObject.CreatePrimitive(PrimitiveType.Cube);
obj06.transform.localPosition = cam.camera.ScreenToViewportPoint(bVector);
obj06.transform.localScale = scaleVector;
obj06.renderer.material.color = Color.magenta;
GameObject obj07 = GameObject.CreatePrimitive(PrimitiveType.Cube);
obj07.transform.localPosition = cam.camera.WorldToScreenPoint(bVector);
obj07.transform.localScale = scaleVector;
obj07.renderer.material.color = Color.white;
GameObject obj08 = GameObject.CreatePrimitive(PrimitiveType.Cube);
obj08.transform.localPosition = cam.camera.WorldToViewportPoint(bVector);
obj08.transform.localScale = scaleVector;
obj08.renderer.material.color = Color.grey;
Texture2D tex
= new Texture2D
(banknote
.width, banknote
.height, TextureFormat
.RGB24,
false); yield return new WaitForEndOfFrame
();
tex
.ReadPixels(new Rect
(banknote
.transform.position.x, banknote
.transform.position.y, banknote
.width, banknote
.height),
0,
0); tex.Apply();
Destroy(tex);
byte[] bytes = tex.EncodeToPNG();
File.WriteAllBytes(Application.persistentDataPath + "/Banknote.png", bytes);
StartCoroutine(ScreenshotManager.SaveExisting( bytes, "banknote"));
}
public void CaptureImage(bool send)
{
StartCoroutine("ScreenShot");
}
}